Brauche hilfe bei ecxel Makros

Ich habe 2 Excel Dateien. Datei1 und Datei2, nun möchte ich gern in Datei 2 einen Makro definieren, der bei Klicken oder direkt bei Start die Spalten A,B und C mit den Zeilen von 8 bis 800 aus Datei1 in Datei2 schreibt. Die Spalten und Zeilen sollen genau die gleichen sein. Normalerweise würde ich einfach verknüpfen, aber dann habe ich den Pfad auch immer hinterlegt, eigentlich will ich aber ausschließlich die „Werte“ haben.
Knut

Hallo Knut,

in Deiner Datei musst Du folgenden Code in ein Modul legen:

Sub DatenKopieren()
'Hinweismeldungen unterdrücken
Application.DisplayAlerts = False

'Falls noch Daten drin stehen werden diese gelöscht
Range(„A2:C65536“).Select
Selection.Clear

'Datei aus der kopiert werden soll aufrufen
Call DateiOeffnen

'Daten kopieren
Windows(„Datenvorlage.xls“).Activate
Range(„A2“).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy

'zurück in die eigentliche Datei
Windows(„KopierteDaten.xls“).Activate
Range(„A2“).Select
ActiveSheet.Paste
Columns(„A:C“).EntireColumn.AutoFit

'Vorlage schließen
Windows(„Datenvorlage.xls“).Close
Application.DisplayAlerts = True

End Sub
Sub DateiOeffnen()

’ Beispiel: C:\Datenvorlage.xls öffnen
Dim bExists As Boolean
Dim oWorkbook As Object

’ Prüfen ob Datei bereits geöffnet ist
bExists = False
With Application
For Each oWorkbook In .Workbooks
If UCase$(oWorkbook.Name) = „Datenvorlage.xls“ Then
’ Jetzt aktivieren
Windows(oWorkbook.Name).Activate
bExists = True
Exit For
End If
Next
End With

’ Mappe neu laden!
If Not bExists Then
On Error Resume Next
Workbooks.Open Filename:=„C:\Datenvorlage.xls“, ReadOnly:=False
On Error GoTo 0
End If

End Sub

Dann in „DieseArbeitsmappe“ folgenden Code einfügen:

Private Sub Workbook_Open()
DatenKopieren
End Sub

Hoffe, das ist was Du DIr vorstellst.

Grüße, Melanie

zunächst einmal, danke.

werde das Problemchen morgen angehen

gruß, knut

Sorry, Knut04, kenn mich mit Makros nicht so gut aus, vielleicht kann dir ja jemand anderes helfen.

Hi Knut,

in Excel-Makros bin ich leider nicht so fit. Mache mehr mit den Funktionen, z.B. sverweis etc.

Wenn es nur um das Übernehmen von Werten/Texten aus der Datei1 in Datei2 geht, könntest Du doch erst die Werte mit einer Gleichung/Bezug von Datei2 in Datei1 übernehmen und dann in der Datei die Spalten kopieren und als Werte wieder in die gleichen Spalten einfügen. Dann sind alle Bezüge weg. Das scheint mir einfacher zu sein, als mit einem Makro zu arbeiten.

Ist mehr „Intelligenz“ bei der Datenübernahme gefragt, so ist wohl ein Makro notwendig.

Das in Kürze, bin erst ab Sonntag nachmittag wieder greifbar.

Viel Erfolg.

Louis

Hallo Knut,
mit „Extras / Makros / aufzeichnen“ kannst du genau diese Funktion in deiner Datei2 aufzeichnen.
Es sollten nur beide Dateien gleichzeitig in Excel geladen sein.
Fragen zur Makro-Aufzeichnung?: s. unter Excel-Hilfe: „Aufzeichnen eines Makros“
Viel Erfolg
Manfred