• 締切済み

テキストボックス文字と同じ文字の行を先頭行へ移動

Excelでテキストボックスに数値(例:1223-02)入力、検索ボタンを押すことにより同文字B16と一致することで先頭行を16行に表示移動したいのですがVBAの式をどなたかお解りの方よろしくお願いします。

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

No.1です。 前回のコードでは5行目(最初の行)がヒットした場合、ちゃんと動きませんので ↓のコードに変更してください。 Private Sub CommandButton1_Click() Dim c As Range Set c = Range("B:B").Find(what:=TextBox1, LookIn:=xlValues, lookat:=xlWhole) If Not c Is Nothing Then If c.Row > 5 Then '★ この行追加 Rows(5 & ":" & c.Row - 1).Hidden = True End If Else MsgBox "該当データなし" End If End Sub どうも失礼しました。m(_ _)m

kuma0220
質問者

お礼

ありがとうございます、非常に助かりました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 「検索ボタン」=コマンドボタンとします。 先頭行は画像通り5行目だとして、 Private Sub CommandButton1_Click() Dim c As Range Set c = Range("B:B").Find(what:=TextBox1, LookIn:=xlValues, lookat:=xlWhole) If Not c Is Nothing Then Rows(5 & ":" & c.Row - 1).Hidden = True Else MsgBox "該当データなし" End If End Sub こんな感じではどうでしょうか? ※ 再表示させることも必要だと思いますので、もう一つ「再表示」用のコマンドボタンを配置して そちらのコードは Private Sub CommandButton2_Click() ActiveSheet.Rows.Hidden = False End Sub のようにしてみてはどうでしょうか?m(_ _)m

関連するQ&A