VBAのサンプル集

VBAのサンプルコードをまとめておく。いろいろできる。
Google+から引っ越した。2018/10/10


エクセルで2枚のシートをPDF出力する

シート1とシート2の2枚のシートをPDFファイルに保存する。

Sheets(Array("Sheet1", "Sheet2")).Select
Sheets("Sheet1").Activate
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= "C:\test.pdf", _
  Quality:=xlQualityStandard, _
  IncludeDocProperties:=True, IgnorePrintAreas:=False,
  OpenAfterPublish:= True


セルを図として貼り付ける

図に変換して貼り付ける。別のワークブックのシートに貼り付けている。2013/7/29

    Range("A1:K32").Select
    Selection.Copy
    Windows("Book2").Activate
    Range("A1").Select
    ActiveSheet.Pictures.Paste.Select
    ActiveSheet.Shapes.Range(Array("Picture 1")).Select

セルの範囲に名前を付ける

名前を使うとエクセル2007でも条件付き書式で別シートの値を参照できる!みたい。なぜかR1C1でセル範囲を指定する必要があるらしい。2013/6/25

    Range("H13:I16").Select
    ActiveWorkbook.Names.Add Name:="xx", RefersToR1C1:="=データ!R13C8:R16C9"
    ActiveWorkbook.Names("xx").Comment = ""

アドインで条件付き書式指定をする処理を、名前定義を使う方法に変更して実験中。


可変の引数をもつ関数

ParamArray を使う。2013/10/22

Function xShowError値(ce As Range, ParamArray args()) As Boolean

    Dim i As Integer
   
    xShowError値 = False
   
    For i = 0 To UBound(args)
        If ce.Value = args(i) Then
            Exit Function
        End If
    Next
    ce.Interior.ColorIndex = 3
    xShowError値 = True
End Function
この関数は、

' A1セルに1,2,3以外の値が入っているとセルの色が付く
b = xShowError値(cells(1,1), 1,2,3)

' A1セルに10以外の値が入っているとセルの色が付く
b = xShowError値(cells(1,1), 10)

という具合に引数の個数を変えて呼び出すことができる。

コメント

このブログの人気の投稿

varchar をデータ型 numeric に変換中に、算術オーバーフロー エラーが発生しました。