Makro: Inhalte in Zeilen effizient überschreiben und hinzufügen
Schritt-für-Schritt-Anleitung
Um Änderungen und neue Artikel von einer Excel-Tabelle in eine andere zu übertragen, kannst Du ein Makro verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung, um dies zu realisieren:
-
Öffne Excel und erstelle zwei Arbeitsblätter: eines für die Artikelliste und das andere für die neuen Produkte oder Änderungen.
-
Drücke ALT + F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Klicke mit der rechten Maustaste auf „VBAProject (deineDatei.xlsx)“.
- Wähle „Einfügen“ und dann „Modul“.
-
Kopiere und füge den folgenden Code ein:
Sub UpdateProducts()
Dim wsArtikelliste As Worksheet
Dim wsÄnderungen As Worksheet
Dim lastRowArtikelliste As Long
Dim lastRowÄnderungen As Long
Dim i As Long
Dim gefunden As Boolean
Set wsArtikelliste = ThisWorkbook.Sheets("Artikelliste")
Set wsÄnderungen = ThisWorkbook.Sheets("Änderungen")
lastRowArtikelliste = wsArtikelliste.Cells(wsArtikelliste.Rows.Count, 1).End(xlUp).Row
lastRowÄnderungen = wsÄnderungen.Cells(wsÄnderungen.Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRowÄnderungen ' Beginne bei 2, um Header zu überspringen
gefunden = False
For j = 2 To lastRowArtikelliste
If wsArtikelliste.Cells(j, 1).Value = wsÄnderungen.Cells(i, 1).Value Then
' Artikel gefunden, Preis ersetzen
wsArtikelliste.Cells(j, 2).Value = wsÄnderungen.Cells(i, 2).Value
gefunden = True
Exit For
End If
Next j
' Artikel nicht gefunden, füge neuen Artikel hinzu
If Not gefunden Then
wsArtikelliste.Cells(lastRowArtikelliste + 1, 1).Value = wsÄnderungen.Cells(i, 1).Value
wsArtikelliste.Cells(lastRowArtikelliste + 1, 2).Value = wsÄnderungen.Cells(i, 2).Value
lastRowArtikelliste = lastRowArtikelliste + 1
End If
Next i
End Sub
-
Schließe den VBA-Editor und kehre zu Excel zurück.
-
Führe das Makro aus, indem Du auf „Entwicklertools“ > „Makros“ gehst und das Makro UpdateProducts
auswählst.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn Du nicht mit Makros arbeiten möchtest, kannst Du auch folgende Methoden nutzen:
- SVERWEIS-Funktion: Nutze die SVERWEIS-Funktion, um Preise in der Artikelliste basierend auf Artikel-ID zu aktualisieren.
- Power Query: Importiere die Daten aus beiden Tabellen und führe die Aktualisierungen über Power Query durch.
Praktische Beispiele
Angenommen, Du hast folgende Daten in der Artikelliste:
Artikel-ID |
Preis |
1001 |
10 |
1002 |
15 |
Und in der Änderungs-Liste:
Artikel-ID |
Preis |
1001 |
12 |
1003 |
20 |
Nach Ausführung des Makros wird die Artikelliste wie folgt aussehen:
Artikel-ID |
Preis |
1001 |
12 |
1002 |
15 |
1003 |
20 |
Tipps für Profis
- Verwende Fehlerbehandlung im VBA-Code, um sicherzustellen, dass das Makro auch bei unerwarteten Eingaben stabil bleibt.
- Implementiere Kommentare im Code, um die Funktionalität für andere Benutzer verständlicher zu gestalten.
- Teste das Makro immer zuerst in einer Kopie Deiner Datei, um Datenverlust zu vermeiden.
FAQ: Häufige Fragen
1. Wie kann ich das Makro anpassen, um zusätzliche Spalten zu berücksichtigen?
Du kannst weitere Cells
-Zugriffe im Makro hinzufügen, um zusätzliche Spalten zu lesen und zu schreiben.
2. Funktioniert das Makro auch in Excel 2010?
Ja, das vorliegende Makro funktioniert in Excel 2010 und neueren Versionen. Stelle sicher, dass Du die Datei im richtigen Format speicherst.