Hi,
da ist aber noch einiges sagen wir mal suboptimal...
Da Workbook.Open auch funktioniert, wenn die Datei bereits geöffnet ist und diese dann einfach nur aktiviert, reicht hier ein einfaches Vor allem braucht man dann kein unsägliches GoTo - was ja sowas von Bäh ist.
Ebenso braucht man nicht durch alle Blätter gehen um festzustellen, ob ein Blatt existiert:
Hier reicht auch
da ist aber noch einiges sagen wir mal suboptimal...
Code:
Dim book As Workbook
For Each book In Workbooks
If book.FullName = file_path1 Then
Set book_from = book
GoTo tieptuc
End If
Next book
Set book_from = Workbooks.Open(file_path1)
Code:
Set book_from = Workbooks.Open(file_path1)
Ebenso braucht man nicht durch alle Blätter gehen um festzustellen, ob ein Blatt existiert:
Code:
For Each sheet_from In book_from.Sheets
For Each sheet_to In book_to.Sheets
If sheet_from.Name = sheet_to.Name Then
check_meet = True
sheet_to.Range("A1:L21") = sheet_from.Range("A1:L21").Value
Exit For
End If
Next sheet_to
Next sheet_from
Code:
For Each sheet_from In book_from.Sheets
Set sheet_to = Nothing
On Error Resume Next
Set sheet_to = book_to.Sheets(sheet_from.Name)
On Error GoTo 0
If Not sheet_to Is Nothing Then
check_meet = True
sheet_to.Range("A1:L21") = sheet_from.Range("A1:L21").Value
End If
Next sheet_from
Gruß,
Helmut
Win10 - Office365 / MacOS - Office365
Helmut
Win10 - Office365 / MacOS - Office365