• ベストアンサー

エクセルVBAでの行の取得方法

myrow = Cells(1, 1).Row + 1 などの方法で行を取得するのではなく、 エクセルのセルにある数字、たとえば A1に3、B1に3 で3行目を取得できませんか? Cellsの括弧の中をValueで指定してもエラーとなります…

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

  • ベストアンサー
  • survey
  • ベストアンサー率26% (17/65)
回答No.1

セルA1からa行b列目 RANGE("A1").offset(a,b) a,bは数値です。 ただ、オフセットする方向にセルが結合されていると、数がずれてしまうようです。ご注意下さい。

ytj
質問者

補足

ありがとうございます。 この後に例えば、 RANGE("A1").offset(1,1) .Cells(1, 1) = name.value などとして、フォームの内容をセル A1 に入れる事は出来ますか? また、Ofsetの中の数字は セルを参照させる事は出来ますか?

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 >myrow = Cells(1, 1).Row + 1   これは、行の番号を取得しているのだと思います。    >エクセルのセルにある数字、たとえば A1に3、B1に3 >で3行目を取得できませんか? 意味が良く分かりません。3行目を取得するというのは、3行目の何を取得するの分かりません。 このどれかか、どれでもないのかな。 A1 が、3 If Range("A1").Value > 0 Then  Cells(Range("A1").Value, 1).EntireRow.Select End If A1が3 B1 が3 If Range("A1").Value = 3 And Range("B1").Value =3 Then  Rows(3).Select End If A1 と B1 で、場所を特定させる。 Dim i As Long, j As Long Dim Ret As Variant i = Range("A1").Value j = Range("B1").Value If i >0 And j > 0 Then  Ret = Cells(i, j).Value End If

ytj
質問者

補足

有り難うございます。 おっしゃるように質問の仕方がおかしいですね。申し訳ございませんでした。 最後のご提案で何とか出来そうです。 ありがとうございました。

関連するQ&A