Ich habe zwei Arbeitsmappen.Kopieren Sie jeden Wert in einer Zeile in eine andere Arbeitsmappe, in der ein Wert übereinstimmt?
Arbeitsmappe A
Supplier Name Date
Supplier A Jun-17
Supplier B Jun-17
Supplier C May-17
Arbeitsmappe B
Supplier Name
Supplier A
Supplier B
Ich versuche, alle Lieferanten Namen zu kopieren, in dem sie das Datum Jun-17 entsprechen. Jun-17 ist auf einem Blatt namens (Vermögenswerte) in Zelle B1 geschrieben.
Ich erhalte einen Fehler
Object doesn't support this property or method.
Auf dieser Linie:
If ThisWorkbook.Worksheets(1).Format(Range("O" & j).Value, "mmm") = ThisWorkbook.Worksheets("assets").Range("b1").Value Then
Mein Code:
Sub Monthly()
On Error Resume Next
UserForm1.Show
If Format(Range("O211").Value, "mmm") = Worksheets("assets").Range("b1").Value Then
MsgBox "Yes"
End If
Dim WB As Workbook
On Error Resume Next
Set WB = Workbooks("PAI Monthly Audits.xlsx")
On Error GoTo 0
If WB Is Nothing Then
Set WB = Workbooks.Open("G:\QUALITY ASSURANCE\03_AUDITS\PAI\templates\PAI Monthly Audits.xlsx", UpdateLinks:=False)
End If
With ThisWorkbook.ActiveSheet
LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
j = 6
For i = 2 To LastRow
If ThisWorkbook.Worksheets(1).Format(Range("O" & j).Value, "mmm") = ThisWorkbook.Worksheets("assets").Range("b1").Value Then
.Range("B" & i).Value = ThisWorkbook.Worksheets(1).Range("B" & j).Value
j = j + 1
End If
Next i
End With
End Sub
Bitte kann mir jemand zeigen, wo ich falsch gehe?
Off-Topic Tipp: 'On Error Resume Next' kann das Debuggen zu einer unglaublich schwierigen Herausforderung machen. Dies geschieht, weil es Fehler von Ihnen verbirgt. Erwägen Sie, dies während des Tests zu kommentieren und Ihren Code nach Möglichkeit zu refactorieren, um Fehler zu fangen, nicht zu unterdrücken. –