VBAのサンプル集

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


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

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

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


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

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

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

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

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

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

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


可変の引数をもつ関数

ParamArray を使う。2013/10/22

  1. Function xShowError値(ce As Range, ParamArray args()) As Boolean
  2.  
  3.     Dim i As Integer
  4.    
  5.     xShowError = False
  6.    
  7.     For i = 0 To UBound(args)
  8.         If ce.Value = args(i) Then
  9.             Exit Function
  10.         End If
  11.     Next
  12.     ce.Interior.ColorIndex = 3
  13.     xShowError = True
  14. End Function
この関数は、

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

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

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

コメント

このブログの人気の投稿

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