○第11回目 便利マクロの事例
単純な操作マクロから。
操作マクロで一番大切なのは、どんな操作が自分にとって一番有効なのかということです。この洗い出しなしに操作マクロを作ったりしても、数が多くなってかえって管理が難しくなります。
よく使っているマクロから。
【例1】セルを結合させる。同時に文字中央にする。
1.結合するセルを選択する。セルの選択は自由です。
2.マクロ記録のはじめ。Alt、T,M,R。このときのマクロ名の頭に"a90"なりを付加しておく。通常は"macro"で始まるので、"a90macro…"とかなる
3.Ctrl+1でセル変種のダイアログのセルタブを出して、
横位置=⇒中央揃え
"セルの結合する"をオン
ダイアログを閉じる。
4.マクロ記録の終了。Alt、T,M,R。
これでおしまいです。
ためしに実行してみましょう。
まず、結合したいセルの範囲を設定します。
Alt+F8でマクロのダイアログが出るの、その中から"a90macro…"を選択し実行する。"a90"を付加してのは、マクロ一覧の先頭のほうにくるからです。
これだけで、セルが結合され、その中の文字が中央揃えになります
マクロは次の通りとなります。
自分でコーディングするのではなく自然にできてしまうのです。
Sub a19Macro5()
' Macro5 Macro
' マクロ記録日 :
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
End Sub
この操作は、中央揃えとセル結合ですので、次のように無用部分を削除してもいいです。記述していないものは、それまでのものがそのまま適用されるということです。
Sub a19Macro5()
' Macro5 Macro
' マクロ記録日 :
With Selection
.HorizontalAlignment = xlCenter
.MergeCells = True
End With
End Sub
【例2】格子状に罫線を引く
これも簡単で、範囲を選択したあとで、マクロの記録を動かし、通常の操作をすれば出来てしまいます。
このマクロの場合、一列のもの、一行のもの、セルが一つのものはエラーになってしまいます。あまり気にしないでマクロを終了させてください。一列のもの以外は予定どおりに線が引けると思います。
ですので、一列の場合は、複数列を指定し動かし、不要な列を削除するというやり方で対応できます。
マクロの例を掲げて見ます。複雑ですね。これを自分でコーディングするのはかなり大変ですが、マクロの記録を使えば簡単です。
《マクロの例》
Sub a19Macro6()
' a19Macro6 Macro
' マクロ記録日
'
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
End Sub
あくまでの自分の操作で有益なものという選択眼になりますが、筆者が使っている機能を上げてみますと、
【例3】標準的なヘッダー、フッターの設定
【例4】そのシートの内容をノンストップで印刷。(シートの全ページが印刷されます。通常は印刷ダイアログが出て、手間が一つ余計にかかります)
【例5】指定範囲だけを印刷
【例6】文字を縦位置で中央揃えに
※マクロにはショートカットキーをつけ、それで起動、がとても便利です。ショートカットキーは有限なので、機能を絞り込む必要が出てきます。

0 件のコメント:
コメントを投稿