• ベストアンサー

excelで別シートのセルを選択(VBA)

どなたか教えてください。 シートXのB1に行番号 シートXのB2に列番号 が記載されていたとして、 別シート(Y)の、上記で指定したセルを選択する(フォーカスを移動する方法)を教えてください。 シート(X)   A   B   C  1 行  25  2 列  2  シート(Y)   A   B   C  1 2   ::::::: 24 25   (ここ) 以下のように書いても、最後の行でエラーになってしまいます。  行番号 = Sheets("X").Cells(1, 2).Value  列番号 = Sheets("X").Cells(2, 2).Value  Sheets("Y").Select  Range(Cells(行番号, 列番号)).Select

質問者が選んだベストアンサー

  • ベストアンサー
  • takibo
  • ベストアンサー率57% (116/200)
回答No.3

ANS2の方とほぼ一緒ですが以下のようになります。 行番号 = Sheets("X").Cells(1, 2).Value 列番号 = Sheets("X").Cells(2, 2).Value Sheets("Y").Select Cells(行番号, 列番号).Select ちなみに、RangeプロパティとCellsプロパティの関連は Range("A1") ⇔ Cells(1,1) Range("A1:B5") ⇔ Range(Cells(1,1),Cells(5,2)) となります。 1つのセルを指定する場合は Cells(□,□) 複数のセル(範囲)を指定する場合は Range(Cells(□,□),Cells(□,□)) となります。

mtsed
質問者

お礼

ありがとうございます。 よくわかりました。

その他の回答 (2)

  • guruguru2
  • ベストアンサー率29% (39/132)
回答No.2

こんばんわ。 行番号 = Sheets("X").Cells(1, 2).Value 列番号 = Sheets("X").Cells(2, 2).Value Sheets("Y").Select Sheets("Y").Cells(行番号, 列番号).Select で、できると思います。(^^) (実行確認済)

mtsed
質問者

お礼

できました。 ありがとうございます。

回答No.1

こんな感じで指定したシート名XXに一致した あるカラム(V2)の値がとれると思います。 For j = 1 To Worksheets.Count Worksheets(j).Select With ActiveSheet        IF Worksheets(j).Name = "XX" Then Worksheets(j).Range("V" & "2").Select value = ActiveCell.FormulaR1C1 END If End With Next j でも、名前で直接アクセスできるのかも・・ ↓みたいな感じで。 Worksheets("名前").Range("V" & "2").Select 確かめてなくてごめんなさい。

mtsed
質問者

お礼

早々にご回答いただきありがとうございます。 おかげさまでできました。