- ベストアンサー
特定のセルを選択するマクロ
B列にTRUEとFALSEのいずれかの文字列が入力されています。 そのうち、一番上にあるTRUEを選択したいのですが、マクロの記述の 方法がわかりません。 教えていただけるとありがたいです。 よろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
一例ですが... SUB MACRO() For Each BB In Range("B:B") BB.Select IF BB.Value =True Then Exit For Next BB End Sub
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
>TRUEとFALSEのいずれかの文字列が入力されています もちろんB1セルに文字列「TRUE」を(4文字)入れることは可能です。しかし普通こういうケースは珍しいと思う。 一方、値としてのTRUE、FALSEは文字列ではない。 セルにTRUE、FALSEと入れると論理値のTRUE、FALSEに自動的に論理値に変えられてしまいます。 TRUE =TRUE() TRUE TRUE4文字 TRUE 'TRUE(先頭に'つけて) TRYE =(2>1) ーー 検索そのものは Findで探す。 総なめで初出を探す。 Match関数を使う。初出1つだけ探せる。 =MATCH(TRUE,$A$1:$A410,0) (VBAでもこの関数がWorksheetFunctionをつけて使える) で出来るが、 上記前半をしっかり抑えておくこと。
- izmlz
- ベストアンサー率55% (67/120)
Findメソッドを使ったマクロです。 Sub test() Dim Rng As Range Dim FindCell As Range Set Rng = Columns("B:B") Set FindCell = Rng.Find(What:="TRUE", After:=Rng(1), Lookat:=xlWhole) FindCell.Select Set Rng = Nothing Set FindCell = Nothing End Sub
- okormazd
- ベストアンサー率50% (1224/2412)
ANo.1 です。 セルを選択したいのね。 Sub test() r = 1 lg = Cells(r, 2) 'B1選択 While lg <> "True" r = r + 1 lg = Cells(r, 2) Wend Cells(r, 2). Select End Sub
- okormazd
- ベストアンサー率50% (1224/2412)
Sub test() r = 1 lg = Cells(r, 2) 'B1選択 While lg <> "True" r = r + 1 lg = Cells(r, 2) Wend MsgBox r End Sub