ブックのSheet1に記載されている従業員番号がいくつかあります。いくつかの情報(多分日付が働いた)を持つ従業員番号を含むワークブック内の他のいくつかのシート(これらのシートをA、B、C、Dなどと呼ぶことができます)があります。ワークシートAに従業員番号が含まれている場合は、他のワークシートには表示されませんが、ワークシートAには複数の時間が表示されることがあります。値の各場所のアドレスの代わりにFIRST INSTANCEのExcel VBAアドレス
VBAを書きました。従業員番号が見つかる場所のセルの場所を返します。従業員番号はA2から始まる列Aにリストされ、番号が従業員番号の右側にある場所がリストされます。 How Sheet1 looks Sheet "A"
右今、私が実行したときに私のVBAマクロは、その従業員番号が発見された場所のすべてのセルの場所が一覧表示されますが、私は何をしたい、それが私にだけFIRSTのセル位置を与えるで行いますその従業員番号のINSTANCE。次に、シート1の列Aに記載されている次の従業員番号に移動します。これは私がこれまで持っていたVBAです。
Sub makeMySearch()
Dim ws As Worksheet, lastrow As Long
For Each cell In Sheets("Sheet1").Range("A2:A" & Sheets("Sheet1").Range("A1").End(xlDown).Row)
recFound = 0
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "Sheet1" Then
lastrow = Sheets(ws.Name).Range("A1").End(xlDown).Row
For Each cell2 In Sheets(ws.Name).Range("A1:A" & lastrow)
If InStr(cell2.Value, cell.Value) <> 0 Then
recFound = recFound + 1
cell.Offset(0, recFound) = Split(cell2.Address, "$")(1) & Split(cell2.Address, "$")(2)
End If
Next cell2
End If
Next ws
Next cell
MsgBox "Done Finding!"
End Sub
をいただき、ありがとうございますあなたの迅速な対応!私は本当にあなたの助けに感謝しますが、これは非常にトリックをやっていません。私はあなたのコードを実行したときには、シート1のセルA:1にあるものだけを探しています。シート1の列A(行2から始まる)にリストされている各従業員番号を検索する必要があります。 – user6896503
@ user6896503それは何をしているのですか?私のコードとあなたの両方は、Sheet1の列Aのデータの特定のレイアウトに依存しています。ちょうどレイアウトは、Sheet1と他のシートのいずれかからいくつかのサンプルデータであなたのQを更新できることを確認する。 –
私はそれを更新し、2枚の写真を追加しました。 1つは検索シートの外観を示し、もう1つは他のシートのデータの外観を示しています。私はVBAで何年も前に仕事をしていましたが、それは初心者に過ぎませんでした。 – user6896503