- ベストアンサー
VBA Rangeの足し算
どもども、とってもVBA初心者です。 "A1"のセルに任意の数字をいれます. ・"B2"セルより"A1"に代入された数分、列を移動させたセルを選ぶマクロ ・"B2"セルより"A1"に代入された数分、行を移動させたセルを選ぶマクロ 本読んでもでてこないくらい初歩のようです。 よろしくお願いします。
- みんなの回答 (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
その他の回答 (1)
- MickeyBear
- ベストアンサー率36% (27/75)
Range("B2").Select ActiveCell.Offset(0,range("A1").Value).Select Range("B2").Select ActiveCell.Offset(range("A1").Value,0).Select でどうでしょうか?
お礼
なるほど、ありがとうございます。 Offsetをつかうのですね。 助かりました!!
お礼
なるほど、奥が深いですね。 仕事柄、日夜の努力やガマンもしてられなく 他人に頼りたいからこのサイトを利用した次第です。 また、ご質問させてくださいねヽ(^‐^ )/