
マクロ初心者で何もわかっておらず恐縮ですが、以下の内容に修正したいのでご教授お願い致します。
①sheet1のC5を検索窓とする
②sheet2,sheet3,sheet4のB列を検索対象として、C5に入力した値を検索
③ヒットした場合そのセルの行を選択
④全シート検索してヒットしなかった場合、"該当がありません。追加して下さい。"と表示
検索する値はsheet2,3,4のB列に1つのみ存在、もしくは存在しないの2通りです。
sheet2に複数や、sheet3とsheet4にもあるといったことは起こりえないのが前提です。
下記のマクロを作成したのですが、ほぼ知識がない状態なのでここからどうしていいかわかりません。
Private Sub CommandButton1_Click()
Dim Foundcell As Range
Set Foundcell = Range("B:B").Find(What:=Range("C5").Value)
If Foundcell Is Nothing Then
MsgBox "該当がありません。追加して下さい。"
Else
Foundcell.EntireRow.Select
End If
End Sub
何卒よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
こんばんは!
一例です。
Sub Sample1()
Dim k As Long, c As Range, myFlg As Boolean
For k = 2 To Worksheets.Count
Set c = Worksheets(k).Range("B:B").Find(what:=Worksheets(1).Range("C5"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
myFlg = True
Exit For
End If
Next k
If myFlg = True Then
Worksheets(k).Activate
c.EntireRow.Select
Else
MsgBox "該当データがありません、" & vbCrLf & "追加してください。"
End If
End Sub
こんな感じではどうでしょうか?m(_ _)m
No.2
- 回答日時:
こんばんは。
No.1さんとは違うスタイルのものを作ってみました。
このコードにはひとつ欠陥があるのは、Match関数を使っているので、まったくおなじものでないと、正しくヒットしないということです。ワイルドカードが使えないということです。
'//
Private Sub CommandButton1_Click()
Dim FindText As String
Dim Ret As Variant
Dim i As Long
FindText = Me.Range("C5").Value
For i = 2 To Worksheets.Count
Ret = Application.Match(FindText, Worksheets(i).Range("B:B"), 0)
If IsNumeric(Ret) Then
Application.Goto Worksheets(i).Cells(Ret, 2)
ActiveCell.EntireRow.Select
Exit Sub
End If
Next
MsgBox "該当がありません。追加して下さい。"
End Sub
こういうテクニックは時々使われますが、なかなか便利なものです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの表示形式を保ったま...
-
EXCELで2つの数値のうち大きい...
-
PowerPointで表の1つの列だけ...
-
エクセルのセル内の文字の一部...
-
エクセルで二つの数字の小さい...
-
2つのエクセルのデータを同じよ...
-
Excelで半角の文字を含むセルを...
-
Excelで隣のセルと同じ内容に列...
-
エクセル(勝手に太字になる)
-
エクセルで時刻(8:00~20:00)...
-
エクセルで最初のスペースまで...
-
Excel 頭に「0」がついている...
-
エクセルで特定の文字が入って...
-
エクセルでオートフィルタのボ...
-
エクセルで文字が混じった数字...
-
エクセルでの複数条件下での標...
-
ExcelのVBAで連番を振る。
-
オートフィルターの絞込みをし...
-
エクセルの項目軸を左寄せにしたい
-
Excel、市から登録している住所...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの表示形式を保ったま...
-
EXCEL 行内のデータを2行に分け...
-
【ExcelVBA】A列に値のある行を...
-
VBAについて教えてくださいshee...
-
【Excel関数】商品コードと商品...
-
Excel VBA For Each Next構文...
-
VBA エクセル EXCEL マクロ
-
Excel VBAのComboboxのRemoveItem
-
エクセル 1つのセル毎に入力...
-
excelのマクロでrangeの選択が...
-
Excel2000 VBA ダブルクリック...
-
エクセルで赤い字のセルを抽出
-
VBA重複チェック
-
Copyコマンドについて
-
エクセルで項目抽出
-
EXCEL sheet1 と sheet2 を使っ...
-
エクセルのIF関数がうまくいき...
-
EXCELで2つの数値のうち大きい...
-
2つのエクセルのデータを同じよ...
-
PowerPointで表の1つの列だけ...
おすすめ情報