【ExcelVBA】セルの値を取得する方法

セル名指定

コード

Sub Function1()
   
    Dim v As String
    
    'A2(行番号2,列番号1)
    v = Range("A2").Value
    Debug.Print (v)
    
    'B1(行番号1,列番号2)
    v = Range("B1").Value
    Debug.Print (v)
    
End Sub

要点

  1. Range関数にセル名を渡し値を取得する

番号指定

コード

Sub Function2()
    
    Dim v As String
    
    'A2(行番号2,列番号1)
    v = Cells(2, 1).Value
    Debug.Print (v)
    
    'B1(行番号1,列番号2)
    v = Cells(1, 2).Value
    Debug.Print (v)
    
End Sub

要点

  1. Cells関数に行番号と列番号を渡し値を取得する

セル範囲指定

コード

Sub Function3()
    
    Dim v As Variant
    
    'セル範囲(A1,B1,A2,B2)
    v = Range("A1:B2").Value
    For Each e In v
        Debug.Print (e)
    Next e
    
    'セル範囲(A1,B1,A2,B2)
    v = Range("A1", "B2").Value
    For Each e In v
        Debug.Print (e)
    Next e
    
End Sub

要点

  1. Range関数にセル範囲を渡し値を取得する
  2. ForEach構文で配列vの要素eを全て取得する

別Excel指定

コード

Sub Function4()
    
    'Excelを開く
    Dim filePath As String
    filePath = "C:/Test/sample1.xlsx"
    Dim wb As Workbook
    Set wb = Workbooks.Open(filePath)
    
    'シートを取得
    Dim ws As Worksheet
    Set ws = wb.Sheets("Sheet1")
    
    'セルの値を取得
    'A2(行番号2,列番号1)
    Dim v As Variant
    v = ws.Range("A2").Value
    Debug.Print (v)
    
    'Excelを閉じる
    wb.Close savechanges:=False
    
End Sub

要点

  1. Open関数でExcelを開く
  2. Sheets関数でシートを取得
  3. Range関数でセルを取得
  4. Close関数でExcelを閉じる

関連リンク

  1. 【ExcelVBA】目次
おすすめの記事