Excel VBA 条件検索による文字の抽出
教えてください
シート3のB4に入力されたワードを
シート2のA:Aから探しに行く
ワードが一致したら一致しなくなるまで
横のセルを全て抽出し、
シート3のD4より抽出したデータを入力していくというマクロを組みたいのですが
自分でプログラムまで組んでみたのですが検索して横のセルを抽出をまで何とかいったのですがここからどうしてもできません
アドバイスいただけないでしょうか
※検索したいエクセルファイルを添付しました 左側がシート3 右側がシート2です
sub sample()
Dim Ws2 As Worksheet
Dim Ws3 As Worksheet
Dim a As Range
Dim b As Range
Set Ws2=worksheets("sheet2")
Set Ws3=worksheets("sheet3")
Set a=Ws2.Range("A:A").Find(what:=Ws3("B4").value,lookat=xlwhole
If Not a Is Nothing Then
Ws3.Range("D4").value=a.offset(0,1).value
End if
End sub
以上 よろしくお願いします
No.1ベストアンサー
- 回答日時:
こんばんは!
お示しの画像では詳細が判らないのですが・・・
Sub Sample1()
Dim cnt As Long, lastCol As Long, wS As Worksheet
Dim myFound As Range, myFirst As Range
Set wS = Worksheets("Sheet3")
cnt = 3
With Worksheets("Sheet2")
lastCol = .Cells(3, Columns.Count).End(xlToLeft).Column '//←3行目で最終列取得//
Set myFound = .Range("A:A").Find(what:=wS.Range("B4"), LookIn:=xlValues, lookat:=xlWhole)
If Not myFound Is Nothing Then
Set myFirst = myFound
GoTo 処理
Do
Set myFound = .Range("A:A").FindNext(after:=myFound)
If myFound.Address = myFirst.Address Then Exit Do
GoTo 処理
処理:
cnt = cnt + 1
wS.Cells(cnt, "D").Resize(, lastCol - 1).Value = myFound.Offset(, 1).Resize(, lastCol - 1).Value
Loop
Else
MsgBox "該当データなし"
End If
End With
End Sub
こんな感じをお望みなのでしょうか?m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) シフト表のコマで「ブロック」されている前の時間の「出」を同一列の「休」と入れ替えたいがふぇきません。 2 2023/08/02 18:49
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでエクセルシートを更新...
-
excelで、セル内に文字が入力さ...
-
エクセルのシートを同時に行削...
-
【エクセル】シートのロックで...
-
同一セルに入力規則のリストと...
-
エクセルで別シート、または別...
-
表示倍率を変更させない方法
-
エクセルのチェックボックスを...
-
「24日の0時」って・・・
-
差し込み印刷に当日の日付が入...
-
エクセル マクロ 名前を付けて...
-
エクセルで最高値、最低値の日...
-
パソコンで購入したデーターが...
-
回覧板の日付について質問です...
-
「時間」、「期日」、「日付」...
-
日付を昇順で並び替えし、空白...
-
ACCESSで日付ごとに自動連番(...
-
エクセルで数字から名前に変...
-
Accessで、定型入力を使って年...
-
Excel:セルに入力されている日...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでエクセルシートを更新...
-
excelで、セル内に文字が入力さ...
-
エクセルのシートを同時に行削...
-
表示倍率を変更させない方法
-
【エクセル】シートのロックで...
-
エクセル表作成についてお分か...
-
エクセルの担当者別にシートを...
-
エクセルVBAで65536レコードを...
-
Excelのマクロで、開いた時に、...
-
同一セルに入力規則のリストと...
-
エクセルで、2つのシートにある...
-
エクセルシートの統合
-
エクセルで更新日時を表示したい。
-
Excelで、表に小計と合計を入れ...
-
教えてください!エクセルのシ...
-
マクロ>指定した範囲をテキス...
-
STAT VIEWが使えない!!!
-
ワードの差し込み印刷について
-
エクセルVBAの文字列の部分一致...
-
エクセルで別シート、または別...
おすすめ情報
画像文字化けしてましたすいません