2014年9月7日日曜日

EXCEL+VBAで仕事を効率化~プラス青字&マイナス赤字

EXCEL+VBAで仕事を効率化。金額の数字をわかりやすくするため、
・ー(マイナス)付きの数字を赤字
・+(プラス)付きの数字を青字

にするVBAの作り方をご紹介します。

  • この minusakaandplusaoは、複数セルを選択した状態で、マクロを実行する形で使用します。
  • +数値や-数値の検出に正規表現を利用しています。

Sub minusakaandplusao()


Dim strPat As String

Dim strTest As String

'  -digits -> red 

For Each r In Selection
  strTest =r.Value
  Set RE =CreateObject("VBScript:RegExp")
  Set Matches = RE.Execute (strTest)
  strPat = "(-|ー)\d+\.?\d"   --- pattern for search
  With RE
    .Pattern = StrPat
    .IgnoreCase =False
    .Global = True
  End With
  SEt Matches = RE.Exceutes(strTest)
  If Matches.Count <> 0 then
    For Each Match In Matches
      r.Characters(Start:=Match.FirstIndex + 1,Length:=Match.Length).Font.ColorINdex = 3
  Next
  Endif
 Next r

'+digits => blue

For Each r In Selection
  strTest =r.Value
  Set RE =CreateObject("VBScript:RegExp")
  Set Matches = RE.Execute (strTest)
  strPat = "(\+|+)\d+\.?\d"   --- pattern for search
  With RE
    .Pattern = StrPat
    .IgnoreCase =False
    .Global = True
  End With
  SEt Matches = RE.Exceutes(strTest)
  If Matches.Count <> 0 then
    For Each Match In Matches
      r.Characters(Start:=Match.FirstIndex + 1,Length:=Match.Length).Font.ColorINdex = 5
  Next
  Endif
 Next r

End Sub








0 件のコメント:

コメントを投稿