Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen

Daten aus Excel-Datei in andere Excel-Datei

Betrifft: Daten aus Excel-Datei in andere Excel-Datei von: FAFR
Geschrieben am: 19.08.2014 13:27:32

Hallo,
ich habe zwei Excel-Dateien und möchte nun nachdem eine Checkbox aktiviert und der Button Fertig gedrückt wurde die Daten von der einen Excel-Datei (die im Hintergrund geöffnet wird und ohne zu speicher wieder geschlossen wird) in die aktuelle Excel-Datei übernehmen.

Mein Code dafür ist wie folgt:


Private Sub ButtonFertig_Click()
    Dim appExcel As Object
    Dim doc As Object

If UserForm1.CheckBox2.Value = True Then
    Set appExcel = CreateObject("Excel.Application")
    Set doc = appExcel.Workbooks.Add("G:\Technische Bauteilspezifikation\Technische  _
Spezifikation.xlsx")
    doc.Unprotect
    doc.Sheets("Tabelle1").Range("D5").Copy
    ThisWorkbook.Sheets("Input").Range("G12").Paste
    doc.Sheets("Tabelle1").Range("E5").Copy
    ThisWorkbook.Sheets("Input").Range("H12").Paste
    doc.Sheets("Tabelle1").Range("F5").Copy
    ThisWorkbook.Sheets("Input").Range("I12").Paste
    doc.Sheets("Tabelle1").Range("G5").Copy
    Workbook.Sheets("Input").Range("J12").Paste
    doc.Protect wdNoProtection
    doc.Close savechanges:=False
    Set appWord = Nothing
    Set doc = Nothing
    
End If
End Sub


Leider funktioniert es nicht und bei der Fett hinterlegten Codezeile kommt der Laufzeitfehler 438 "Objekt unterstützt diese Eigenschaft oder Methode nicht"

Kann mir jemand helfen?

Danke

Gruß
Franzi

  

Betrifft: AW: Daten aus Excel-Datei in andere Excel-Datei von: fcs
Geschrieben am: 19.08.2014 14:20:55

Hallo Franzi,

für ein Makro, das in einer Exceldatei angelegt wird, ist es nicht erforderlich, ein Excel-Application-Objekt zu erzeugen.

Du hast scheinbar ein Wordbeispiel versucht nach Excel zu übertragen.

Die Paste-Methode funktioniert im Zusammenhang mit Zellen in Excel nicht. Entweder kopierts du direkt in die Zielzelle(n) oder du wendest bei den Zielzelle(n) die PasteSpecial-Methode an.


Gruß
Franz

Nachfolgend ein paar Beispiele, wie du dein Makro aufbauen könntest. Ich hab es aber nicht getestet.

' Makro innerhalb der Excel-Anwendung
Private Sub ButtonFertig_Click()
    Dim doc As Workbook

If UserForm1.CheckBox2.Value = True Then
    Set doc = Application.Workbooks.Add _
      ("G:\Technische Bauteilspezifikation\Technische Spezifikation.xlsx")
    doc.Unprotect
    doc.Sheets("Tabelle1").Range("D5").Copy ThisWorkbook.Sheets("Input").Range("G12")
    doc.Sheets("Tabelle1").Range("E5").Copy ThisWorkbook.Sheets("Input").Range("H12")
    doc.Sheets("Tabelle1").Range("F5").Copy ThisWorkbook.Sheets("Input").Range("I12")
    doc.Sheets("Tabelle1").Range("G5").Copy ThisWorkbook.Sheets("Input").Range("J12")
    doc.Protect ""
    doc.Close savechanges:=False
    Set doc = Nothing
    
End If
End Sub

'zu kopierender Bereich kann als ein Block kopiert werden
Private Sub ButtonFertig_Click()
    Dim doc As Workbook

If UserForm1.CheckBox2.Value = True Then
    Set doc = Application.Workbooks.Add _
      ("G:\Technische Bauteilspezifikation\Technische Spezifikation.xlsx")
    doc.Unprotect
    doc.Sheets("Tabelle1").Range("D5:G5").Copy ThisWorkbook.Sheets("Input").Range("G12:J12")
    doc.Protect ""
    doc.Close savechanges:=False
    Set doc = Nothing
    
End If
End Sub


'Nur die Werte des zu kopierenden Bereichs werden in denZielzellen eingetragen
Private Sub ButtonFertig_Click()
    Dim doc As Workbook

If UserForm1.CheckBox2.Value = True Then
    Set doc = Application.Workbooks.Add _
      ("G:\Technische Bauteilspezifikation\Technische Spezifikation.xlsx")
    doc.Unprotect
    doc.Sheets("Tabelle1").Range("D5:G5").Copy
    ThisWorkbook.Sheets("Input").Range("G12:J12").Pastespecial Paste:=xlPasteValues
    doc.Protect ""
    doc.Close savechanges:=False
    Set doc = Nothing
    
End If
End Sub



  

Betrifft: AW: Daten aus Excel-Datei in andere Excel-Datei von: FAFR
Geschrieben am: 19.08.2014 15:38:43

Hallo Franz

Danke! Hab den Code umgeschrieben funktioniert super (:

Gruß Franzi


 

Beiträge aus den Excel-Beispielen zum Thema "Daten aus Excel-Datei in andere Excel-Datei"