ExcelVBAチートシート セル・テーブル
セルを指定する
Range
Range("A1")
単一セルRange("A1:D6")
セル範囲Range("A1","D6")
セル範囲Range("A1,B2")
2つのセルRange("A1,B2:D6")
単一セルとセル範囲Range("テーブル名")
テーブルのデータ部分のセル範囲
Cells
Cells(1,2)
1行2列目の単一セルCells(2,"C")
2行3列目の単一セルCells(3)
インデックス番号3の単一セルCells
シートのすべてのセルRange("A1:H8").Cells(1)
セル範囲内の先頭セルRange("D3").CurrentRegion.Cell(2,3)
セル範囲内の2行3列目のセル
Columns
Columns(1)
1列目のセルすべてColumns("B")
2列目のセルすべてColumns("3:5")
3~5列目のセルすべてRange("A1:D5").Columns(1)
セル範囲内の1列目のセルすべて
Rows
Rows(1)
1行目のセルすべてRows("2:4")
2~4行目のセルすべてRange("A1","G8").Rows(1)
セル範囲内の1行目のセルすべて
Selection
Selection
選択されている単一セル・セル範囲
ActiveCell
ActiveCell
アクティブな単一セル(操作対象のセル)
EntireColumn
Selection.EntireColumn
指定したセル範囲の列のセルすべて
EntireRow
Selection.EntireRow
指定したセル範囲の行のセルすべて
CurrentRegion
Range("D3").CurrentRegion
指定したセルを含むアクティブセル領域(表全体)
Offset
Range("A1").Offset(1,2)
指定したセルから1行下2列右のセルRange("A1").Offset(3)
指定したセルから3行下のセルRange("A1:B3").Offset(0,4)
指定したセル範囲から4列右のセル範囲Range("H5").Offset(-3,-2)
指定したセルから3行上2列左のセル
Resize
Range("A1").Resize(1,2)
指定したセルから1行下2列右に拡張したセル範囲Range("A1").Resize(3)
指定したセルから3行下に拡張したセル範囲Range("A1:B3").Resize(0,4)
指定したセル範囲から4列右に拡張したセル範囲
End
Range("B2").End(xlUp)
指定したセルを基準とした上端セルRange("B2").End(xlDown)
指定したセルを基準とした下端セルRange("B2").End(xlToLeft)
指定したセルを基準とした左端セルRange("B2").End(xlToRight)
指定したセルを基準とした右端セル
Next
Range("D4").Next
指定したセルの右のセル
Previous
Range("D4").Previous
指定したセルの左のセル
SpecialCells
Range("A1:F5").SpecialCells(xlCelltypeBlanks)
指定したセル範囲内の空白セルすべてRange("A1:F5").SpecialCells(xlCelltypeFormulas)
指定したセル範囲内の数式が入力されたセルすべてRange("A1:F5").SpecialCells(xlCelltypeConstants)
指定したセル範囲内の値が入力されたセルすべてRange("A1:F5").SpecialCells(xlCelltypeConstants, xlTextValues)
指定したセル範囲内の文字列が入力されたセルすべてRange("A1:F5").SpecialCells(xlCelltypeConstants, xlNumbers)
指定したセル範囲内の数値が入力されたセルすべてRange("A1:F5").SpecialCells(xlCelltypeVisible)
指定したセル範囲内の可視セルすべて
セルを選択する
Select
Range("A1:D5").Select
指定したセル範囲を選択する
Activate
Range("A1").Activate
指定したセルをアクティブな単一セル(操作対象のセル)にする
セルに値や数式を入力する
Value
Range("A1").Value = 1
セルに数値を入力するRange("A1").Value = "文字"
セルに文字列を入力するRange("A1").Value = #5/28/2022#
セルに日付を入力する
Formula
Range("A1").Formula = "=1+1"
セルに数式を入力するRange("A1").Formula = "SUM(A1:D6)"
セルに関数を入力する
セルをコピー・切取り・貼付けする
Copy
Range("A1").Copy
セルをコピーするRange("A1").Copy Range("B2")
セルA1をコピーしてセルB2に貼り付ける
Cut
Range("A1").Cut
セルを切り取るRange("A1").Cut Range("B2")
セルA1を切り取ってセルB2に貼り付ける
PasteSpecial
Range("B2").PasteSpecial
セルに貼り付けるRange("B2").PasteSpecial xlPasteValues
セルに値を貼り付けるRange("B2").PasteSpecial xlPasteFormulas
セルに数式を貼り付けるRange("B2").PasteSpecial xlPasteFormats
セルに書式を貼り付けるRange("B2").PasteSpecial xlPasteColumnWidths
セルに列幅を貼り付ける
Application.CutCopyMode
Application.CutCopyMode = False
コピーモードを解除する
セルを挿入・削除する
Insert
Range("A3:C3").Insert xlShiftToRight
指定したセル範囲の位置にセルを挿入し、右方向にシフトRange("A3:C3").Insert xlShiftDown
指定したセル範囲の位置にセルを挿入し、下方向にシフト
Delete
Range("B2").Delete xlShiftToLeft
指定したセルを削除し、左方向にシフトRange("B2").Delete xlShiftUp
指定したセルを削除し、上方向にシフト
セルに罫線を設定する
Borders
Range("A1:D6").Borders
セル範囲のすべての罫線Range("A1:D6").Borders(xlEdgeTop)
セル範囲の上辺の罫線Range("A1:D6").Borders(xlEdgeBottom)
セル範囲の下辺の罫線Range("A1:D6").Borders(xlEdgeLeft)
セル範囲の左辺の罫線Range("A1:D6").Borders(xlEdgeRight)
セル範囲の右辺の罫線Range("A1:D6").Borders(xlInsideHorizontal)
セル範囲の内側の行方向のすべての罫線Range("A1:D6").Borders(xlInsideVertical)
セル範囲の内側の列方向のすべての罫線Range("A1:D6").Borders(xlDiagonalDown)
セル範囲のすべてのセルの斜線(\)Range("A1:D6").Borders(xlDiagonalUp)
セル範囲のすべてのセルの斜線(/)
LineStyle
Range("A1","D6").Borders.LineStyle = xlContinuous
単線を引くRange("A1","D6").Borders.LineStyle = xlDouble
二重線を引くRange("A1","D6").Borders.LineStyle = xlDash
破線を引くRange("A1","D6").Borders.LineStyle = xlDot
点線を引くRange("A1","D6").Borders.LineStyle = xlLineStyleNone
罫線を消す
Weight
Range("A1","D6").Borders.Weight = xlHairline
罫線を極細線にするRange("A1","D6").Borders.Weight = xlThin
罫線を細線にするRange("A1","D6").Borders.Weight = xlMedium
罫線を普通の太さの線にするRange("A1","D6").Borders.Weight = xlThick
罫線を太線にする
BorderAround
Range("B2:F6").BorderAround _
LineStyle:=xlContinuous, Weight:=xlMedium, Color:=RGB(255,14,83)
選択したセル範囲に外枠罫線を引く
セルに背景色を設定する
Interior.Color
Range("A1").Interior.Color = RGB(255,14,83)
背景色をRGB値で指定するRange("A1").Interior.Color = "&H0A1A33"
背景色をカラーコード(16進数)で指定する
Interior.ThemeColor
Range("A1").Interior.ThemeColor = xlThemeColorAccent3
背景色をテーマカラーで指定する
Interior.Pattern
Range("A1").Interior.Pattern = xlPatternCrissCross
背景を網目模様にする
Interior.TintAndShade
Range("A1").Interior.TintAndShade = 0.8
背景色の明るさを変更する(-1~1)
セルの書式を設定する
NumberFormatLocal
Range("A1").NumberFormatLocal = "#,###"
数値の書式(3桁区切り)を指定するRange("A1").NumberFormatLocal = "@""円"""
文字列の書式(~円)を指定するRange("A1").NumberFormatLocal = "yyyy/m/d"
日付の書式設定(2022/5/28)を指定する
セルの値の表示位置を設定する
HorizontalAlignment
Range("A1").HorizontalAlignment = xlLeft
セルの文字を左揃えにするRange("A1").HorizontalAlignment = xlRight
セルの文字を右揃えにするRange("A1").HorizontalAlignment = xlCenter
セルの文字を中央揃えにするRange("A1").HorizontalAlignment = xlJustify
セルの文字を両端揃えにするRange("A1:A4").HorizontalAlignment = xlCenterAcrossSelection
セル範囲の文字をその範囲内で中央揃えにするRange("A1").HorizontalAlignment = xlDistributed
セルの文字を均等割り付けにする
VerticalAlignment
Range("A1").VerticalAlignment = xlTop
セルの文字を上詰めにするRange("A1").VerticalAlignment = xlBottom
セルの文字を下詰めにするRange("A1").VerticalAlignment = xlCenter
セルの文字を上下中央揃えにする
セルの値や書式をクリアする
Clear
Range("A1").Clear
セルの値と書式をクリアする
ClearContents
Range("A1").ClearContents
セルの値のみをクリアする
ClearFormats
Range("A1").ClearFormats
セルの書式のみをクリアする
セルの値の文字を設定する
Font.Name
Cells.Font.Name = "Arial"
セルの文字のフォントをArialにする
Font.Size
Cells.Font.Size = 12
セルの文字のサイズを12にする
Font.Color
Cells.Font.Color = RGB(83,54,33)
セルの文字色をRGB値で指定するCells.Font.Color = "&H0A1A33"
セルの文字色をカラーコード(16進数)で指定する
Font.ThemeColor
Cells.Font.ThemeColor = xlThemeColorAccent4
セルの文字色をテーマカラーで指定する
Font.TintAndShade
Cells.Font.TintAndShade = 0.8
文字色の明るさを変更する(-1~1)
Font.Bold
Range("A1").Font.Bold = True
セルの文字を太字にする
Font.Underline
Range("A1").Font.Underline = xlUnderlineStyleSingle
セルの文字に下線(単線)を引くRange("A1").Font.Underline = xlUnderlineStyleDouble
セルの文字に下線(二重線)を引くRange("A1").Font.Underline = xlUnderlineStyleNone
セルの文字の下線を消す
セルの値を置換する
Replace
Range("A1:D8").Replace "箱", "ボックス"
指定したセル範囲の値の"箱"を"ボックス"に置換する(部分一致)Range("A1:D8").Replace "書籍", "本", xlWhole
指定したセル範囲の値の"書籍"を"本"に置換する(完全一致)
セルの幅を設定する
ColumnWidth
Columns(1).ColumnWidth = 10
シートの1列目のセルの列幅を10にする
RowHeight
Rows(1).RowHeight = 10
シートの1行目のセルの行幅を10にする
UseStandardWidth
Columns(1).UseStandardWidth = True
シートの1列目のセルの列幅をデフォルトに戻す
UseStandardHeight
Rows(1).UseStandardHeight = True
シートの1行目のセルの行幅をデフォルトに戻す
AutoFit
Range("A1").AutoFit
入力されている値に合わせてセルの列幅を自動調整する
セル範囲の行数や列数、セル数を取得する
Rows.Count
Range("A1:D5").Rows.Count
セル範囲の行数を取得するRange("D3").CurrentRegion.Rows.Count
セル範囲の行数を取得する
Columns.Count
Range("A1:D5").Columns.Count
セル範囲の列数を取得するRange("D3").CurrentRegion.Columns.Count
セル範囲の列数を取得する
Count
Range("A1:D5").Count
セル範囲のセル数を取得するRange("D3").CurrentRegion.Count
セル範囲のセル数を取得する
セルにジャンプする
Application.Goto
Application.Goto Worksheets(2).Range("A1")
指定したセルにジャンプするApplication.Goto
ジャンプ元に戻る
セル範囲を並び替える
Sort
Range("C2").CurrentRegion.Sort _
Key1:=Range("D2"), Order1:=xlAscending, Header:=xlYes
指定したセル範囲をD2項目の列を基準に昇順に並べ替える
セル範囲にフィルターをかける
AutoFilter
Range("A1:F8").AutoFilter 2, "OK"
指定したセル範囲の2列目が"OK"の行を抽出するRange("A1:F8").AutoFilter 3, ">=2", xlAnd, "<=8"
指定したセル範囲の3列目が2以上8以下の行を抽出する
AutoFilterMode
Worksheets(1).AutoFilterMode = False
指定したワークシートのフィルターを解除する
セルを検索する
Find
Cells.Find(What:=10, LookIn:=xlValues, LookAt:=xlWhole)
値が10であるセルを検索して指定するCells.Find(What:=8, LookIn:=xlFormulas, LookAt:=xlPart)
数式に8が含まれるセルを検索して指定するCells.Find(What:="文字列", LookIn:=Values, LookAt:=xlPart)
値に文字列が含まれるセルを検索して指定する
セル範囲を集約する
Union
Dim rng As Range
Set rng = Union(Range("A1"), Range("B2"))
変数rngにA1セルとB2セルを集約して代入する
テーブル及びテーブル内のセルを指定する
ListObjects
ActiveSheet.ListObjects("テーブル名")
指定したテーブル名のテーブルRange("D3").ListObject
指定したセルを含むテーブル
ListObjects.Range
ActiveSheet.ListObjects("テーブル名").Range
テーブル全体のセル範囲
ListObjects.HeaderRowRange
ActiveSheet.ListObjects("テーブル名").HeaderRowRange
テーブルの見出し部分のセル範囲
ListObjects.DataBodyRange
ActiveSheet.ListObjects("テーブル名").DataBodyRange
テーブルのデータ部分のセル範囲
ListObjects.ListRows
ActiveSheet.ListObjects("テーブル名").ListRows(3)
テーブルのデータ部分の3行目のセルすべて
ListObjects.ListColumns
ActiveSheet.ListObjects("テーブル名").ListColumns(2)
テーブルの2列目のセルすべてActiveSheet.ListObjects("テーブル名").ListColumns("見出し名")
テーブルの見出し名の列のセルすべて
テーブルに行を追加・削除する
ListRows.Add
ActiveSheet.ListObjects("テーブル名").ListRows.Add
テーブルの最後尾に行を追加するActiveSheet.ListObjects("テーブル名").ListRows.Add.Range
テーブルの最後尾に行を追加し、その行のセル範囲を指定する
ListRows.Delete
ActiveSheet.ListObjects("テーブル名").ListRows(2).Delete
テーブルの2行目の行を削除する