VBA Memo

Posted by ExiaHuang on July 13, 2017

FindメソッドでみつかったRangeオブジェクトの行番号を取得するサンプルマクロ

Sub 北海道という文字列を探して行番号を取得する()
 MsgBox Range("A1:G7").Find("北海道").Row		'Row
 MsgBox Range("A1:G7").Find("北海道").Column		'Column
End Sub

Public Const A = Range(“A2:AZ2”).Find(“料理総額”).Row ‘ ←他モジュールからも参照可(定数)

数式をセルに表示する

数式の確認などをしたいときに便利です。 ショートカットキーは[Ctrl]+[Shift]+[] (アクサングラーブ、バッククォート)です。 [Ctrl]+[Shift]+[@] と書いたほうが分かりやすいかもしれません。 [] (アクサングラーブ、バッククォート)は「@」の上に印刷されている記号です。

グレイヴ・アクセント ( ) バッククォート (backquote)

save as pdf

1
2
3
4
5
6
Sub save_as_pdf()
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\test_save_as_pdf.pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub

sheet loop

Sub save_as_pdf()

’ ブックの全シートを 1 つずつループして処理する For Each objSheet In ThisWorkbook.Worksheets Debug.Print objSheet.Name & “を処理します”

1
2
3
4
5
6
7
8
If objSheet.Name <> "sheetname" Then
    objSheet.ExportAsFixedFormat Type:=xlTypePDF, _
        Filename:="C:\tmp\" & objSheet.Name & ".pdf", _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
End If

Next

End Sub

1
2
3
4
strFile = ThisWorkbook.Path & "\" & ThisWorkbook.Name & ".pdf"
If FSO.FileExists(strFile) = True Then
   FSO.DeleteFile strFile
End If