あなたの現在のコードは、あなたが望むものに近い何もしません。以下のコードを試してみてください。コードが何をしているのかを説明するコメントを追加しようとしました。実際の書籍と一致するように、コード内のワークブック名とワークシート名を変更してください。
Sub RunMe()
Dim wbk1 As Workbook, wbk2 As Workbook, wbk3 As Workbook
Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet
Dim lRow1 As Long, lCol1 As Long, lRow3 As Long, x As Long
Dim myValue As String
Dim Found As Range
Set wbk1 = Workbooks("Workbook_1.xlsm") 'Be sure to change these to your actual workbook names
Set ws1 = wbk1.Worksheets("Sheet1") 'Be sure to change these to your actual worksheet names
Set wbk2 = Workbooks("Workbook_2.xlsm")
Set ws2 = wbk2.Worksheets("Sheet1")
Set wbk3 = Workbooks("Workbook_3.xlsm")
Set ws3 = wbk3.Worksheets("Sheet1")
'Using a with block means we don't have to define any range coming from book1. ws1.Range("A2") is the same as .Range("A2")
With ws1
'Find last row in ws1 Col A
lRow1 = .Range("A" & .Rows.Count).End(xlUp).Row
'Find last column in ws1
lCol1 = .Cells.Find(What:="*", _
After:=.Cells(1, 1), _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Column
'Start loop to search through all values in column A
For x = 2 To lRow1
myValue = .Cells(x, 1).Value
'Look for value in Workbook2 column A
Set Found = ws2.Cells.Find(What:=myValue, _
After:=ws2.Cells(1, 1), _
LookIn:=xlFormulas, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False)
'If Found is not nothing then do something
If Not Found Is Nothing Then
'Find last row in ws3 Col A
lRow3 = ws3.Range("A" & .Rows.Count).End(xlUp).Row
'Instead of using .copy saying "This Range = That Range" is much faster
ws3.Range(ws3.Cells(lRow3 + 1, 1), ws3.Cells(lRow3 + 1, lCol1)).Value = .Range(.Cells(x, 1), .Cells(x, lCol1)).Value
End If
Next x
End With
End Sub
あなたのコードはどこにありますか、どのようなエラーが発生していますか?まず、列Aをループしたいと言っているが、列Eを参照し続けると言う。 – BerticusMaximus
こんにちは、コードを実行するとエラーが発生し、実行するのに数分かかり、何も起こらず、コピーも何もないworkbook_3 - Col A&Eに関してはAと正しく入力されていますが、ここで私が見つけた元のコードは、間違いかコードそのものを見やすくするために編集したものです。 – user3103193
あなたはあなたのコードで 'Sheets'を参照していますが、あなたは' Workbooks'について話していますか?ワークブックはExcelファイルで、複数のシート(ファイルの下部にある「タブ」)を含むことができます。どちらが意味ですか? –