- ベストアンサー
エクセルのマクロで範囲を選択するマクロ
教えてください。 下記の通り、例えばA列の2~5にデータが入っている場合に、B2~D5の範囲を選択するマクロを教えてください。 A列のデータが入っている行は可変です。 A B C D E 1 2 6 3 7 4 9 5 10 6 7
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Sub Sentaku() ul = Range("A1").End(xlDown).Row '上のデータ行 ll = Range("A65536").End(xlUp).Row '下のデータ行 Range("B" & ul & ":D" & ll).Select End Sub
その他の回答 (3)
- 374649
- ベストアンサー率38% (203/527)
単純で簡単やりかたですが。 開始行と終行が判っているということで。 F1に開始行数(2)、G1に終行数(5)を入力してマクロを実行します。 Sub 選択() Dim rg As String Dim StartNo As String Dim EndNo As String StartNo = Range("F1") EndNo = Range("G1") rg = "B" + StartNo + ":" + "D" + EndNo Range(rg).Select End Sub セルを変数代入値として使えば色々応用が利きます、BとDも同じ様に変数を使えば簡単で自由に範囲を選択できます。
お礼
ご免なさい!質問の仕方が悪くて。 開始行は一定ですが、終行は不定なんです。 マクロの前段があって、A列のデータは別のデータ表から抽出・貼付けします。B~D列はA列の数値を利用した計算式(別の所に記載したもの)をコピペしたかったわけです。 でも、お教えいただいたマクロも別のところで使えそうです。 ありがとうございました。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 >例えばA列の2~5にデータが入っている場合に、 「例えば」っていうのは、それ以外もあるというわけですね。 A列の1 行目からある場合、 A列のデータが途中で間が空いている場合、 A列のデータが1行しかない場合、 A列のデータが数式の場合 A列のデータが、文字列と数字、数式が混在の場合 A列が何もない場合 までは、想定範囲とします。 '------------------------------ Sub Test1() Dim i As Variant Dim k As Variant Dim j As Long On Error Resume Next With ActiveSheet If WorksheetFunction.CountA(.Columns(1)) = 0 Then Exit Sub j = .Cells(.Rows.Count, 1).End(xlUp).Row Set r = .Range(.Cells(1, 1), .Cells(j, 1)) With r.SpecialCells(2, 23) i = .Areas(1).Cells(1).Row End With With r.SpecialCells(-4123, 23) k = .Areas(1).Cells(1).Row End With If Not (IsEmpty(i) Or IsEmpty(k)) And k < i Then i = k If IsEmpty(i) Then i = k On Error GoTo 0 .Cells(i, 2).Resize(j - i + 1, 4).Select End With End Sub
お礼
舌足らずの質問で、ご免なさい! 小生、マクロはマクロの記録を継ぎ接ぎして使っているレベルです。 お蔭様で何人かの方から、回答いただいて、一番簡単なものを使わせていただきました。 頂いた回答は、小生の理解のレベルをはるかに超えておりました。 もっと勉強しないければ、と思います。 ありがとうございました。
- n-jun
- ベストアンサー率33% (959/2873)
Range("A:A").SpecialCells(xlCellTypeConstants, 1).Offset(, 1).Resize(, 3).Select とか。
お礼
質問が簡略しすぎで、実際の表は、もちょっと複雑で、頂いた回答を、どう生かすか奮闘中です。 ありがとうございました。
お礼
舌足らずの質問にもかかわらず、ドンピシャの回答を頂きました。 上のデータ行は一定なのですが、下のデータ行を最下方からEndupして、列数を調べるやり方は、自分のやり方に合ってました。 既に入力済みのデータ行を含めての範囲設定は、分かってましたが、含めない範囲を設定する仕方が参考書を見ても分からず、困ってました。 それに、頂いた回答は、応用が聞くと思いますので、助かります。