Mit Excel Werte in andere Excel-Datei schreiben?
#11
Hi,

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)
Da Workbook.Open auch funktioniert, wenn die Datei bereits geöffnet ist und diese dann einfach nur aktiviert, reicht hier ein einfaches
Code:
Set book_from = Workbooks.Open(file_path1)
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:
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
Hier reicht auch
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
Antworten Top
#12
@HKind

Oder ?

Code:
Sub M_snb()
  For Each it In book_from.Sheets
    If Not IsEmpty(bookto.Sheets(it.Name)) Then book_to.Sheets(it.Name).Range("A1:L21") = it.Range("A1:L21").Value
  Next
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste