概要
事務の仕事をしています。
職場によっては、データとしての体をなしていないデータをExcel上でまとめたり、セルの結合で構成された様式にデータを転写する作業をしたりすることもあると思います。
その作業の中でよく使っているExcelのマクロを紹介します。
個人用マクロブックに保存してショートカットキーを設定すれば特定の作業が楽になるかもしれません。
よく使うマクロ達
選択範囲の文字を全て半角にする
全角・半角入り乱れたデータをもらった時によく使ってます。
Sub half_width()
Application.ScreenUpdating = False
For Each n In Selection
n.Value = Application.WorksheetFunction.Asc(n.Value)
Next
Application.ScreenUpdating = True
End Sub
選択範囲の文字を全て全角にする
全角文字しか受け付けない業務システム上にデータを貼り付ける時によく使います。
Sub half_width()
Application.ScreenUpdating = False
For Each n In Selection
n.Value = Application.WorksheetFunction.Asc(n.Value)
Next
Application.ScreenUpdating = True
End Sub
選択範囲の数字を全て税込価格にする
これはよく使うと思います。
Sub tax()
Application.ScreenUpdating = False
row_n = Selection.Row
For Each a In Selection
If IsNumeric(a.Value) And a.Value <> "" Then
a.Value = Application.WorksheetFunction.RoundDown(a.Value * 1.1, 0)
End If
Next
Application.ScreenUpdating = True
End Sub
いい感じの表を作る
テーブルを使うまでもない表をぱっと作る時によく使ってます。
Sub line()
Selection.Borders.LineStyle = xlContinuous
Range(Cells(Selection(1).Row, Selection(1).Column), Cells(Selection(Selection.Count).Row - 1, Selection(Selection.Count).Column)) _
.Borders(xlEdgeBottom).LineStyle = xlDouble
Selection.Borders(xlEdgeTop).Weight = xlMedium
Selection.Borders(xlEdgeBottom).Weight = xlMedium
Selection.Borders(xlEdgeLeft).Weight = xlMedium
Selection.Borders(xlEdgeRight).Weight = xlMedium
With Range(Cells(Selection(1).Row, Selection(1).Column), Cells(Selection(1).Row, Selection(Selection.Count).Column))
.HorizontalAlignment = xlCenter
.Interior.ColorIndex = 27
End With
End Sub
こういうデータを
こうできます
xlA1形式とxlR1C1を入れ替える
セルの結合まみれの様式にデータを転写するマクロを作る時は
A1参照形式派の人もR1C1形式に切り替えるのではないでしょうか?
その切り替えを簡単にできるマクロです。
Sub switch_R1C1()
If Application.ReferenceStyle = xlA1 Then
Application.ReferenceStyle = xlR1C1
Else
Application.ReferenceStyle = xlA1
End If
End Sub
最後に
少しだけですがよく使うものをピックアップして紹介させてもらいました。
お役に立てればうれしいです。