見出し画像

私のVBAコードレシピ

繰り返しの作業を自動化するのにとても便利なExcelVBA
VBAプログラマーは自分の辞書のような感じでどこかにコードレシピを持っていると聞いて私も残すようにしている。
私自身も汎用性が高く、よく使うのでデスクトップの付箋にメモしてあるコードを3つほどご紹介。

Range("A1").Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
Application.CutCopyMode = False

A1に入力されている関数の計算結果を値として貼り付けるコード
形式を選択して貼り付けの画面をコードにしたもの。
これをコピペして値貼り付けやすべて貼り付けなどを変更すればすぐに使えるのでよく使う。

Sheets(Array("sheet1", "sheet2")).Copy
    ActiveWorkbook.SaveAs Filename:= "H:指定フォルダ"&【ファイル名】& ".xlsm" _
    , FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

Sheet1とSheet2を新しい【ファイル名】をつけて指定フォルダに保存するもの。
これはマクロ付きのファイルを保存する場合のコードだがマクロなしの場合でも編集して使用する。
Arrayの使い方を良く忘れてしまうためこれもあえて残している。

Dim buf As String, cnt As Long
buf = Dir("指定フォルダ*.xlsx?")
Do While buf <> ""
cnt = cnt + 1
Cells(cnt, 2) = buf
buf = Dir()
Loop

指定フォルダ内に保存されているファイル名をシートに書き出すコード
保存されているExcelだったり、画像を自動で挿入するときなどに重宝しているので地味なコードだが使い勝手が良い。

と、私のものはこんな感じだが、PCの付箋メモに羅列しているだけなのでそろそろExcelできれいに管理しなくては。。。
また便利なコードを書いたときにはご紹介したいと思います。

この記事が気に入ったらサポートをしてみませんか?