正しい人たち、私はもう少し助けを求めてまた戻ってきました。以前とまったく同じ構造の情報を含む新しいワークシートを毎月追加するワークブックがあります。列 A には請求書番号があり、次に列 B:J の詳細があります。列 K と L には、すべての未解決の問題に対して手動で追加されたコメントがあります。私がやりたいことは、最後のワークシートに対して請求書を検索し、列 K & L のコメントを新しいワークシートにコピーできるようにすることです。
少しコードを作成しようとしましたが、何もうまくいきません。ActiveSheet は、コメントなしで新しく作成されたものです。したがって、列 A の請求書番号を検索し、一致が見つかった列 K & L を最後のワークシートからアクティブシートの列 K & L にコピーしたいと考えています。私が意味をなすことを願っています。助けてくれてありがとう
Option Explicit
Sub FindCopy_all()
Dim calc As Long
Dim Cel As Range
Dim LastRow As Long
Dim rFound As Range
Dim LookRange As Range
Dim CelValue As Variant
' Speed
calc = Application.Calculation
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With
'Get Last row of data ActiveSheet, Col A
LastRow = ActiveSheet.Cells(1048576, 1).End(xlUp).Row
' Set range to look in
Set LookRange = ActiveSheet.Range("A1:A" & LastRow)
' Loop on each value (cell)
For Each Cel In LookRange
' Get value to find
CelValue = Cel.Value
' Look on previous sheet
With Sheets(Sheets.Count - 3)
Set rFound = .Cells.Find(What:=CelValue, _
After:=.Cells(1, 1), LookIn:=xlValues, _
Lookat:=xlWhole, MatchCase:=False)
' Reset
On Error GoTo endo
' Not found, go next
If rFound Is Nothing Then
GoTo NextCel
Else
' Found. last sheet, Col K & L to Active Sheet found Row, Col K & L
.Cells(rFound.Row, 11, 12).Resize(, 2).Copy ActiveSheet.Cells(Cel.Row, 11, 12)
End If
End With
NextCel:
Next Cel
Set rFound = Nothing
'Reset
endo:
With Application
.Calculation = calc
.ScreenUpdating = True
End With
End Sub