Quantcast
Channel: mattintosh note
Viewing all articles
Browse latest Browse all 878

Excel VBA のメモ

$
0
0

ブックを開いたときにい全てのシートに同じ余白を設定する

全てのドキュメントで常に同じ余白を自動設定したいときに。ファイルをいちいちマクロ付きで保存しなきゃいけないなどの面倒くささは残る。

また、BlackAndWhite(Boolean)を設定すれば白黒印刷も自動化できるので、経費削減などで白黒印刷を推奨している現場では役に立つ(かもしれない)。

PrivateConst MARGIN_OUTER AsSingle=1.5PrivateConst MARGIN_INNER AsSingle=3PrivateSub Workbook_Open()With ThisWorkbook
    For i =1To Worksheets.CountWith.Worksheets(i).PageSetup
            .HeaderMargin  = Application.CentimetersToPoints(MARGIN_OUTER).FooterMargin  = Application.CentimetersToPoints(MARGIN_OUTER).TopMargin     = Application.CentimetersToPoints(MARGIN_INNER).RightMargin   = Application.CentimetersToPoints(MARGIN_INNER).BottomMargin  = Application.CentimetersToPoints(MARGIN_INNER).LeftMargin    = Application.CentimetersToPoints(MARGIN_INNER).BlackAndWhite =True'白黒印刷EndWithNextEndSub

PageSetup オブジェクト (Excel)

ファイル選択ダイアログを表示する

PrivateConst INPUTFILE_COUNT AsByte=2Sub main()Dim i AsLongDim inputfile(INPUTFILE_COUNT -1)AsVariantFor i =0ToUBound(inputfile)
        inputfile(i)= Application.GetOpenFilename(,, i +1&"つ目のファイルを選択してください")If inputfile(i)=FalseThenExitSubNextEndSub

Application.GetOpenFilename メソッド (Excel)

ブックを開いた時に自動実行する関数と閉じるときに自動実行する関数

  • Sub Workbook_Open()
  • Sub Workbook_Close()

新しいブックを作成してデータを書き込む

マクロを実行するためのファイルと CSVファイルなどのファイルをインポートしたデータを同じファイルに保存してしまうとファイルサイズが増えてしまうので結果を新しいブックに書き込む。

Private new_wb_ws1 As Worksheet
Private new_wb_ws2 As Worksheet

PrivateFunction CreateNewWorkbook()Dim tmp AsLongDim new_wb As Workbook
    tmp = Application.SheetsInNewWorkbook'新しいブックのシート数設定を保存
    Application.SheetsInNewWorkbook =2Set new_wb = Workbooks.AddWith new_wb
        Set new_wb_ws1 =.Worksheets(1)Set new_wb_ws2 =.Worksheets(2)EndWith
    Application.SheetsInNewWorkbook = tmp
EndFunctionSub main()Call CreateNewWorkbook
    new_wb_ws1.Cells(1).Value=1
    new_wb_ws2.Cells(1).Value=2EndSub

Workbooks.Add メソッド (Excel)


Viewing all articles
Browse latest Browse all 878

Trending Articles