プロが教えるわが家の防犯対策術!

こんにちは。
エクセルVBAについて質問させていただきます。
やりたいことが複雑な為自分ではどうしようも出来ず、アドバイスを頂けたらと思います。

シート”ロット管理”にはC3~の行でロット名の一覧が入力されており、B4~B216で作業一覧が登録されています。

シート”工程詳細”には現状生産しているロットの工程の情報が、1ロット8列使用した表のような形で登録されており、1つ目の場合は、F3がロット名、F9~F220が作業一覧、H9~H220が進捗となって入っております。

今回行いたいことが、”工程詳細”を検索し、現状進行しているロットの進捗を”ロット管理”に値のみ転記していきたいと思っています。

※ただし、2つのシートの作業一覧は、全く同じ内容が登録されていますが、”工程詳細”は必ずしも作業一覧のAから始まるわけではありませんので、必ず作業一覧を照合する必要があります。

VLOOKUPのような形で検索、抽出を考えていましたが、VBAでのやり方が調べても難しく、分かりづらいと思いますが、できればお力添えをお願いします。

「【VBA】 別シートを検索し、一致した値」の質問画像

A 回答 (1件)

こんにちは!



画像が小さすぎて詳細がよく判らないのですが、
シートがたくさん存在するみたいですね。
その中の「ロット一覧」シートと「工程詳細」シートの二つだけを考慮すれば良いのですよね。

おそらくこういうコトだと思うので・・・

標準モジュールです。

Sub Sample1()
 Dim i As Long, c As Range, wS As Worksheet
  Set wS = Worksheets("ロット管理")
   With Worksheets("工程詳細")
    For i = 9 To .Cells(Rows.Count, "F").End(xlUp).Row
     Set c = wS.Range("B:B").Find(what:=.Cells(i, "F"), LookIn:=xlValues, lookat:=xlWhole)
      If Not c Is Nothing Then
       If c.Offset(, 1) <> "" Then
        .Cells(i, "H") = c.Offset(, 1)
       End If
      End If
    Next i
   End With
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています