• ベストアンサー

特定のセルを選択するマクロ

B列にTRUEとFALSEのいずれかの文字列が入力されています。 そのうち、一番上にあるTRUEを選択したいのですが、マクロの記述の 方法がわかりません。 教えていただけるとありがたいです。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

一例ですが... 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)
回答No.5

>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)
回答No.4

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

参考URL:
http://www2.odn.ne.jp/excel/waza/macro.html
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.3

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)
回答No.1

Sub test() r = 1 lg = Cells(r, 2) 'B1選択 While lg <> "True" r = r + 1 lg = Cells(r, 2) Wend MsgBox r End Sub