VBA——Range操作

5744 ワード

VBAはExcelでよく使われるオブジェクトRangeのメソッドノートを操作します.すべての内容は恐れないでください.Excel VBAは実は簡単です.

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