VBA——Range操作
5744 ワード
VBAはExcelでよく使われるオブジェクトRangeのメソッドノートを操作します.すべての内容は恐れないでください.Excel VBAは実は簡単です.
属性名
属性の内容
例
Value
セルの値
Range("A1:A10").Value = 200
CurrentRegion
現在の領域、空の行と空の列を境界とする
Range("B5").CurrentRegion.Select
Count
セルの数
Range("B4:F10").Count
Rows.Count
明細数量
ActiveSheet.UsedRange.Rows.Count
Columns.Count
列の数
ActiveSheet.UsedRange.Columns.Count
Address
アドレス
EntireRow
現在の行の取得
EntireColumn
現在の列の取得
Range("A10").EntireColumn
メソッド名
メソッドの内容
例
Select
セルの選択
Cells
セルの選択
Rows
行の選択
Cells
列の選択
Offset
選択範囲のオフセット
Range("A1").Offset(2,3).Value = 5
Resize
選択範囲の拡大または縮小
Range("B2").Resize(5,4).Select
End
現在の範囲の末尾にあるセル
Range("C5").End(xlUp).Select
Activate
セルのアクティブ化
Select
セルを選択
Clear
すべてクリア
ClearComents
コメントのクリア
ClearContents
コンテンツのクリア
ClearFormats
フォーマットのクリア
Copy
セルのコピー
PasteSpecial
セルの貼り付け
Cut
セルの切り取り
Delete
セルの削除
Range("B5").Delete Shift:=xlUp
CellsはRangeオブジェクトのメソッドで、指定した行と列が交差するセルを返しますが、Cellsプロパティは単一のセルのみを参照できます.セルは左から右、上から下の順に番号付けされます.
[]は、アプリケーションオブジェクトのEvaluateメソッドの略ですが、カッコで変数を使用することはできません.
セルを選択する前に、セルが存在するシートはアクティブなシートである必要があります.
セル範囲を選択した後、Activateメソッドを使用して領域内のセルをアクティブにします.この領域は選択されたままで、アクティブなセルのみをアクティブにします.selectメソッドを使用して領域内の1つのセルを選択すると、selectメソッドで選択したセルのみが選択されます.
Range操作
属性要約
属性名
属性の内容
例
Value
セルの値
Range("A1:A10").Value = 200
CurrentRegion
現在の領域、空の行と空の列を境界とする
Range("B5").CurrentRegion.Select
Count
セルの数
Range("B4:F10").Count
Rows.Count
明細数量
ActiveSheet.UsedRange.Rows.Count
Columns.Count
列の数
ActiveSheet.UsedRange.Columns.Count
Address
アドレス
EntireRow
現在の行の取得
EntireColumn
現在の列の取得
Range("A10").EntireColumn
メソッドの要約
メソッド名
メソッドの内容
例
Select
セルの選択
Cells
セルの選択
Rows
行の選択
Cells
列の選択
Offset
選択範囲のオフセット
Range("A1").Offset(2,3).Value = 5
Resize
選択範囲の拡大または縮小
Range("B2").Resize(5,4).Select
End
現在の範囲の末尾にあるセル
Range("C5").End(xlUp).Select
Activate
セルのアクティブ化
Select
セルを選択
Clear
すべてクリア
ClearComents
コメントのクリア
ClearContents
コンテンツのクリア
ClearFormats
フォーマットのクリア
Copy
セルのコピー
PasteSpecial
セルの貼り付け
Cut
セルの切り取り
Delete
セルの削除
Range("B5").Delete Shift:=xlUp
参照セル
一般的な方法
Worksheets("Sheet").Range("A1").Value = 50 ' A1 50
Range("A1:A10").Value = 200 ' A1:A10 200
Range("date").value = 100 ' date 100( )
Range("A1:A10,A4,E6,C3:D9").Select ' ,
Range("B1:B10 A4:D6").Select ' ,
Range("B6:B10","D2:D8").Select '
セル参照Cells
CellsはRangeオブジェクトのメソッドで、指定した行と列が交差するセルを返しますが、Cellsプロパティは単一のセルのみを参照できます.セルは左から右、上から下の順に番号付けされます.
ActiveSheet.Cells(3,4).Value = 20 '3 4
ActiveSheet.Cells(3,"D").Value = 20 '3 D
Range("B3:F9").Cells(2,3).Value = 100 'D4
Range(Cells(1,1),Cells(10,5)).Select 'Cells Range
Range(Range("A1"),Range("E10")).Select '
ActiveSheet.Cells(2).Value = 200 'B1
ActiveSheet.Cells.Select '
ショートカット[]セルの参照
[]は、アプリケーションオブジェクトのEvaluateメソッドの略ですが、カッコで変数を使用することはできません.
[B2]
[A1:D10]
[A1:D10,C1:D10,E1:D10]
[B1:B10 A5:d5]
[n] ' n
Rowsを行ごとに参照
ActiveSheet.Rows("3:3").Select
ActiveSheet.Rows("3:5").Select
ActiveSheet.Rows(3).Select
ActiveSheet.Rows.Select
Rows("3:10").Rows("1:1").Select
Columnsを列ごとに参照
ActiveSheet.Columns("F:G").Select
ActiveSheet.Columns("B:B").Select
ActiveSheet.Columns(3).Select
ActiveSheet.Columns.Select
Columns("B:G").Columns("B:B").Select
ApplicationオブジェクトのUnionメソッド
Application.Union(Range("A1:A10"),Range("D1:D5")).Select
現在選択されているセルselection
Selection.Address
セルの変換
移動オフセット
Range("A1").Offset(2,3).Value = 500 ' 2 , 3
Range("C5:D6").Offset(-3,0).Select ' 3
領域の拡大または縮小
Range("B2").Resize(5,4).Select ' B2 ,5 4
境界Endに移動
Range("C5").End(xlUp).Select ' ctrl+
Range("C5").End(xlDown).Select ' ctrl+
Range("C5").End(xlToLeft).Select ' ctrl+
Range("C5").End(xlToRight).Select ' ctrl+
セルの操作
セルActivate/selectを選択
セルを選択する前に、セルが存在するシートはアクティブなシートである必要があります.
セル範囲を選択した後、Activateメソッドを使用して領域内のセルをアクティブにします.この領域は選択されたままで、アクティブなセルのみをアクティブにします.selectメソッドを使用して領域内の1つのセルを選択すると、selectメソッドで選択したセルのみが選択されます.
セルクリア
Range("A1").Clear '
Range("A1").ClearComments '
Range("A1").ClearContents '
Range("A1").ClearFormats '
Copy&PasteSpecialのコピー
Range("A1").Select
Selection.Copy
Range("C1").Select
ActiveSheet.Paste
Range("A1").Copy Range("C1") ' A1 C1
Range("A1").Copy Destination:=Range("C1") '
Range("A1").CurrentRegion.Copy Range("G1")
Range("A1:D10").Copy
Range("F1:F10").PasteSpecial Paste:=xlPasteValues '
Range("F1:I10").Value = Range("A1:D10").Value
セルCutの切り取り
Range("A1:E5").Cut Destination:=Range("G1")
Range("A6:E10").Cut Range("G6")
セル削除
Range("B5").Delete Shift:=xlToLeft
Range("B5").Delete Shift:=xlUp ' ,
Range("B5").EntireRow.Delete
Range("B5").EntireColumn.Delete
一般的な例
最後の行の空白以外のセルの取得
ActiveSheet.Range("A65536").End(xlUp).Offset(1,0).Value = 1
Dim xrow As Long
xrow = ActiveSheet.UsedRange.Rows.Count + 1
Cells(xrow,"A").Value = 1
Dim xrow As Long
xrow = Range("A1").CurrentRegion.Rows.Count + 1
Cells(xrow,"A").Value = 1