VocExcel(単語帳) / VBA Tips
 
 [Key] エクセル / Excel / VBA /マクロ


<--- 戻る

セルの選択

エクセルVBAでセルを選択する方法はいくつかありますが、ここでは私がよく使う方法を紹介します。

「Range」よりも「Cells」の方が変数を使いやすいです。



-----------
基本
-----------
Cells(行番号, "列")



-----------
A1を選択
-----------




Sub slctCell()

  Cells(1, "A").Select

End Sub



-----------
C15を選択
-----------
Sub slctCell()
  
  Cells(15, "C").Select

End Sub



-------------------
変数でC15を選択
-------------------
Sub slctCell()
  
  Dim myRow As Long
  myRow = "15"
  Cells(myRow, "C").Select

End



----------------------
C列の最終行を選択
----------------------
Sub slctCell()

  '65536行目から上へあがって、突き当たったところが最終行
  Cells(65536, "C").End(xlUp).Select

End Sub



----------------------------
C列の最終行を選択 (変数)
----------------------------



Sub slctCell()

  Dim myRow As Long
  myRow = Cells(65536, "C").End(xlUp).Row

  Cells(myRow, "C").Select

End Sub



----------------------
行を選択
----------------------
Sub slctCell()

  ActiveCell.Rows.EntireRow.Select

End Sub 



----------------------
複数行の選択
----------------------
Sub slctCell()

  Dim topRow As Long
  Dim lstRow As Long
  Dim sltRow As String

  '選択範囲の先頭、最終行を取得
  topRow = Selection.Row
  lstRow = Selection.Rows(Selection.Rows.Count).Row
  sltRow = topRow & ":" & lstRow


  Rows(sltRow).Select



End Sub



----------------------
すべて選択
----------------------
Sub slctCell()

  Cells.Select

End Sub



----------------------
四隅の選択
----------------------
Sub slctCell()

  ’A2からC10を選択
  Range(Cells(2, "A"), Cells(10, "C")).Select

End Sub




----------------------
四隅の選択 (変数)
----------------------
Sub slctCell()

  ’A2からC10を選択

  Dim myRow1 As Long
  Dim myRow2 As Long

  myRow1 = 2
  myRow2 = 10


  Range(Cells(myRow1, "A"), Cells(myRow2, "C")).Select

End Sub