プロが教える店舗&オフィスのセキュリティ対策術

今現在、シートにA3:E700までの大きな表があります。
中のデータは文字列や数値です。
A列B列には途中に空白はありません。C~E列には空白もあります。
この表のB列だけを選択するマクロを書きたいのですが、データは日々増減するため最終行が特定できません。

どのように書けばいいのでしょうか?

A 回答 (6件)

Sub Test()


Dim myRow As Long

myRow = Range("B1:B1").CurrentRegion.Rows.Count

Range("B1:B" & pRow).Select
End Sub
    • good
    • 0
この回答へのお礼

さっそくありがとうございました。
出来ました!

お礼日時:2003/10/09 13:13

#1です。



単に無条件にB列だけの選択というのであれば、

Sub Test()
Columns("B").Select
End Sub

でも OK ですね。
    • good
    • 0

こんにちは。

maruru01です。

Range("B1:B" & Cells(ActiveSheet.Rows.Count, 2).End(xlUp).Row).Select

です。
ActiveSheet.Rows.Countはエクセルの最大行数で、Excel2000なら、65536です。
したがって、

Range("B1:B" & Range("B65536").End(xlUp).Row).Select

でもOKです。
なお、データ最終行より下のB列に何か入力があると、そこまで選択してしまいます。
    • good
    • 0
この回答へのお礼

さっそくありがとうございました。
出来ました!

お礼日時:2003/10/09 13:13

Worksheets("Sheet1").Activate


ActiveSheet.Range("B3", ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell)).Select

これでどうでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございました。
ざんねんながら別の部分まで選択されてしまいました。

お礼日時:2003/10/09 13:16

> シートにA3:E700までの大きな表があります


> A列B列には途中に空白はありません。

この条件を組み入れて、簡潔に記述すると次のようになると思います。

Range("B3", Range("B2").End(xlDown)).Select

ただし、表に1行以上のデータ(見出しでも)があるものとします。
    • good
    • 0

ありゃ、間違えました。



> シートにA3:E700までの大きな表があります
> A列B列には途中に空白はありません。

この条件を組み入れて、簡潔に記述すると次のようになると思います。

Range("B3", Range("B3").End(xlDown)).Select

ただし、表に1行以上のデータがあるものとします。
    • good
    • 0
この回答へのお礼

ありがとうございました。

これでやったら、表より下に別のデータがあっても大丈夫でした。
助かりました。

お礼日時:2003/10/09 13:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!