HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Entdecke rund 2 Millionen Excel-Lösungen im
Forumsarchiv
Forumbeitrag
Excel-Version des Fragestellers:
365 privat
Erfahrungslevel des Fragestellers:
Excel gut - VBA nein
Piet
02.05.2026 20:51:48
AW: Spaltenprüfung
Hallo

das ist der Code wenn du beide Dateien automatisch öffnen willst
In Zelle G1+G2 muss dann der komplette Pfad + Dateiname stehen!
Was du zum Schlu Speichern und schliessen willst kann noch eingestellt werden.

mfg Piet

Option Explicit

Dim j As Long, LSp As Long
Dim lz1 As Long



Sub Daten_kopieren()
Dim GD As Workbook 'WB Gasdaten
Dim GP As Workbook 'WB Gaspreis
Dim DSht As Worksheet 'Gasdaten Sheet
Dim PSht As Worksheet 'Gaspreis Sheet
Dim Tb1 As Worksheet 'This Workbbok

Set Tb1 = ThisWorkbook.Sheets("Tabelle1")
Set GP = Workbooks.Open(Filename:=CStr(Tb1.Range("G1")))
Set GD = Workbooks.Open(Filename:=CStr(Tb1.Range("G2")))
Set DSht = GD.Worksheets("Gasdaten") 'Sheets setzen
Set PSht = GP.Worksheets("Gaspreis")
ThisWorkbook.Activate

'LastZell in Daten, LastSpalte in Preis
lz1 = DSht.Range("A1").End(xlDown).Row
LSp = PSht.Cells(1, Columns.Count).End(xlToLeft).Column

'Kopiere Daten in Diese Tabelle A1
DSht.Range("A1:B" & lz1).Copy Tb1.Range("A1")

'Datum in Gaspreis suchen
For j = 2 To LSp
If PSht.Cells(1, j) = DSht.Cells(1, 2) Then Exit For
Next j

If j < LSp Then
'vorhandene Daten überschreiben
DSht.Range("B2:B" & lz1).Copy PSht.Cells(2, j)
Else
'neue Daten hinten anhängen
DSht.Range("B1:B" & lz1).Copy PSht.Cells(1, j)
End If
Range("B1").Activate

'Gaspreis aktivieren zum Prüfen
GP.Activate 'Gaspreis Aktivieren
GP.Save 'Gaspreis speichern

'Mappen schließen ???
GD.Close False 'Gasdaten schliessen
ThisWorkbook.Save 'Last Daten speichern
ThisWorkbook.Close 'Makro WB schliessen
End Sub

Als Antwort auf diesen Beitrag
Opalu
01.05.2026 19:40:10
Spaltenprüfung
Hallo Profis,

leider reichen meine VBA Kenntnisse nicht aus um eine Spaltenprüfung
in zwei Datein zu checken.
Anbei Beispiel

https://www.herber.de/bbs/user/180650.xlsx

Ich schaff es nicht das in einem Commandbutton als Makro zu hinterlegen

jetzt schon Verbeugung und
mfg Opalu
Folgenachrichten
Antwort auf Beitrag erstellen
Bitte einen Anwendernamen ohne @ eingeben.
Bitte das Passwort eingeben.
Bitte eine gültige E-Mail-Adresse eingeben.
Bitte einen Betreff eingeben.
Weitere Optionen
Aktivieren, wenn die Frage/der Beitrag noch nicht beantwortet wurde und unter Listen > Offene Threads erscheinen soll.
Beispieldatei hochladen

Bitte einen Nachrichtentext eingeben.