ActiveCell.Offset(0, 2).Range("A1:C1").Select
前記のコードは選択範囲をアクティブセルより相対参照にて指定するものですが、下表にてアクティブセルをA1として、コード内のC1に換えてA1(アクティブセル)の数値によって選択範囲とするセル数を指定するにはどうしたらよいでしょうか?(アクティブセルをA2,A3とした実行結果を2,3行のようにしたいのです)
A B C D E F
1 3 * * *
2 4 * * * *
3 2 * *
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
アクティブセルをA1として、ご提示の
ActiveCell.Offset(0, 2).Range("A1:C1").Select
を実行すると、C1:E1が選択されることになり、ご質問文の*の位置にはなりませんね。
その点は、適宜修正いただくとして、
A列がアクティブセルの時に、そのセル値に応じて、選択範囲(幅=列数)を決めたいという意味と解釈しました。
Offset部は質問のコードをそのままとするなら…
ActiveCell.Offset(0, 2).Resize(1, ActiveCell.Value).Select
ご質問文の例でいくと
1行目はC1:E1、2行目はC2:F2、3行目はC3:D3がそれぞれ選択されることになります。B列から選択したいのであれば、offsetの値を1にすれば宜しいかと・・・
回答ありがとうございます。質問欄の表は投稿時にB列に入れたスペースが反映されなかったものです。読み解いていただきありがとうございました。
ActiveCell.Offset(0, 2).Range(Cells(1, 1), Cells(1, Cells(1, 3).Value)).Select
とするとCells(1, 3).Valueの値が絶対参照のセル値で返るため、コード内での相対参照は?というお尋ねになりました。
No.2
- 回答日時:
相対参照ってのは無理かもしれませんがActiveCellの行列を得て指定する方法をとることは出来ます
Dim Row As Long
Dim Col As Long
Row = ActiveCell.Row
Col = ActiveCell.Column
Range(Cells(Row, Col), Cells(Row + 2, Col)).Select
No.1
- 回答日時:
質問の意味が良くわからない。
データ例の表の見方も難しい。
>アクティブセルをA2,A3とした実行結果を2,3行のようにしたいのです) の部分
何にしろ、範囲はRange(Cells(R1,C1),Cells(R2,C2)).Select
でできる。これを知らないからの質問ではないか。
R1,R2,C1,C2を数値で割り出せば仕舞い。
行のr1=ActiveCell.Rowなど
直下までならr2=r1+1
列のc2も同じ。本質問はこちらか。
易しいことを聞いているのでは。
Offsetでも出来る。
例えばA1に3
Sub test01()
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, Range("A1"))).Select
End Sub
実行すると、B1:D1を範囲指定する。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロ(VBA)CELL形式とA1形式の使い分け 6 2022/08/27 23:35
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Excel(エクセル) マクロ セルの選択 5 2022/08/12 22:47
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- Excel(エクセル) エクセルのセル値に対応してマクロを実行する方法を教えてください セルA1が「1」の時にマクロ名「マク 2 2022/06/19 18:45
- Excel(エクセル) エクセルの関数式を教えてください。 2 2022/11/29 21:09
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
i=cells(Rows.Count, 1)とi=cel...
-
Excelのハイパーリンクにマクロ...
-
【Excel】指定したセルの名前で...
-
Excelで指定した日付から過去の...
-
DataGridViewのセル編集完了後...
-
【Excel VBA】指定行以降をクリ...
-
EXCELで変数をペーストしたい
-
Excel vbaで特定の文字以外が入...
-
【VBA】指定したセルと同じ値で...
-
特定行の色を変えたい(FlexGrid)
-
VBAでセルをクリックする回...
-
EXCELのVBA-フィルタ抽出後の...
-
スプレッドシートの数値列に対...
-
VBAの計算で@が出てしまう件
-
セル色なしの行一括削除
-
3桁または4桁の数値を時刻に...
-
”戻り値”が変化したときに、マ...
-
TODAY()で設定したセルの日付...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
【Excel VBA】指定行以降をクリ...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel】指定したセルの名前で...
-
Excelで指定した日付から過去の...
-
特定の文字を条件に行挿入とそ...
-
Excel VBA、 別ブックの最終行...
-
EXCELで変数をペーストしたい
-
Excelのプルダウンで2列分の情...
-
Excel vbaで特定の文字以外が入...
-
TODAY()で設定したセルの日付...
-
screenupdatingが機能しなくて...
-
DataGridViewの各セル幅を自由...
-
Sub 要具ライフ() ActiveSheet....
-
【EXCEL VBA】Range("A:A").Fi...
-
VBAを使用した時間管理
-
VBAでセルをクリックする回...
-
セル色なしの行一括削除
-
エクセルVBAでコピーして順...
おすすめ情報