Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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