• ベストアンサー

VBA Rangeの足し算

どもども、とってもVBA初心者です。 "A1"のセルに任意の数字をいれます. ・"B2"セルより"A1"に代入された数分、列を移動させたセルを選ぶマクロ ・"B2"セルより"A1"に代入された数分、行を移動させたセルを選ぶマクロ 本読んでもでてこないくらい初歩のようです。 よろしくお願いします。

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

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

こんにちは。 >本読んでもでてこないくらい初歩のようです。 ちゃんと読めば出てきます。英会話と同じで、決まりきったことなら言えても、少し変化するとなかなか難しいものなのです。それは、まだ、VBAの知識が少ないからなのです。初心者としては、あれをしたい、これをしたい、というのは、もう少し我慢すべきだと思います。早めに白旗を上げて、他人に頼らないことですね。段階を踏んで、一通り覚えてから、実際のコードを書いてください。 私自身も、本格的に、新しい言語を始めたばかりの初心者で、何年掛かるか分かりません。でも、勉強の仕方はだいたい分かるつもりです。 ちなみに、一般的な方法だけ書いておきます。 入門用では、どちらかというと、Cellsプロパティを使うことが多いかと思います。しかし、少し、今回のような相対参照型の場合は、Cellsプロパティは分かりにくいです。 '列 Dim i As Long   If IsNumeric(Range("A1").Value) Then   i = Range("A1").Value   Range("B2").Offset(, i).Select  End If '行 Dim j As Long  If IsNumeric(Range("A1").Value) Then   j = Range("A1").Value   Range("B2").Offset(j).Select  End If

mogurayama
質問者

お礼

なるほど、奥が深いですね。 仕事柄、日夜の努力やガマンもしてられなく 他人に頼りたいからこのサイトを利用した次第です。 また、ご質問させてくださいねヽ(^‐^ )/

その他の回答 (1)

回答No.1

Range("B2").Select ActiveCell.Offset(0,range("A1").Value).Select Range("B2").Select ActiveCell.Offset(range("A1").Value,0).Select でどうでしょうか?

mogurayama
質問者

お礼

なるほど、ありがとうございます。 Offsetをつかうのですね。 助かりました!!

関連するQ&A