Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1824to1828
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Werte einlesen und passend einfügen

Werte einlesen und passend einfügen
09.04.2021 17:43:06
Jonas
Hallo zusammen,
ich benötige bei Folgendem eure Hilfe:
In der angehängten Beispiel-Datei sind 2 Tabellenblätter zu finden. In der originalen Datei besitzt das Tabellenblatt „Daten“ rund 40 Spalten und über 170.000 Zeilen. Dieses Tabellenblatt beruht größtenteils auf einer SAP Auswertung, die monatlich aktualisiert wird. Die Spalten „Ausnahme“ und „Bemerkung“ müssen noch manuell gepflegt werden.
Die Ausnahmen und Bemerkungen sind auf dem Tabellenblatt „Bemerkungen“ vermerkt. In der Original-Datei habe ich mir ein kleines VBA-Modul geschrieben, welches die Zeilen des Tabellenblattes „Daten“ mit Bemerkung und/oder Ausnahmen herausfiltert, ausschneidet und auf das Tabellenblatt „Bemerkungen“ einfügt. Dieses „Rüber-kopieren“ erfolgt immer vor Folgendem:
Wird nun eine neue SAP Auswertung erzeugt und das Tabellenblatt „Daten“ aktualisiert, kann es zu natürlich zu Veränderungen kommen, wodurch die Ausnahmen/Bemerkungen evtl. nicht mehr an ihrem richtigen Platz stehen. Jetzt kommt ihr ins Spiel.
Wie ich es mir theoretisch vorstelle:
1. Die Spalte „Kundennummer“ des Tabellenblattes „Bemerkungen“ einlesen, bis die letzte Kundennummer erreicht ist.
2. Die Werte der Spalten „Ausnahme“ und „Bemerkung“ zu der jeweiligen Kundennummer einlesen.
3. Dann auf dem Tabellenblatt „Daten“ die jeweiligen Kundennummern heraussuchen und in die Spalten „Ausnahmen“ und „Bemerkung“ die eingelesenen Werte vom Tabellenblatt „Bemerkung“ einfügen.
Der Theorie nach nicht schwer, aber in der Praxis (Array oder so?) habe ich dazu leider keine Ahnung und hoffe auf eure Unterstützung. Es soll nicht über Formeln (INDEX o.Ä.) in den Zellen erfolgen.
Beispiel-Datei: https://www.herber.de/bbs/user/145420.xlsx
Ich wünsche euch aber jetzt erstmal einen guten Start ins Wochenende. Bleibt gesund!
Liebe Grüße,
Jonas

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte einlesen und passend einfügen
09.04.2021 17:48:56
Nepumuk
Hallo Jonas,
lade bitte Daten hoch in denen sich auch Ausnahmen und Bemerkungen in den Daten befinden.
Gruß
Nepumuk
AW: Werte einlesen und passend einfügen
09.04.2021 18:00:07
Jonas
Danke für den Hinweis. Hier also nochmal die Datei mit Ausnahmen und Bemerkungen ebenfalls im Tabellenblatt "Daten".
So sollte es dann bestenfalls nach dem Ausführen des VBA Codes aussehen.
https://www.herber.de/bbs/user/145421.xlsx
AW: Werte einlesen und passend einfügen
09.04.2021 18:46:29
Nepumuk
Hallo Jonas,
teste mal:
Option Explicit
Public Sub Abgleich()
Dim lngRow As Long
Dim objCell As Range
With Tabelle1
For lngRow = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
If Not IsEmpty(.Cells(lngRow, 2).Value) Or _
Not IsEmpty(.Cells(lngRow, 4).Value) Then
Set objCell = Tabelle2.Columns(6).Find(What:= _
.Cells(lngRow, 6).Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not objCell Is Nothing Then
objCell.Offset(0, -2).Value = .Cells(lngRow, 4).Value
objCell.Offset(0, -4).Value = .Cells(lngRow, 2).Value
Set objCell = Nothing
Else
Call .Range(.Cells(lngRow, 1), .Cells(lngRow, 6)).Copy( _
Destination:=Tabelle2.Cells(1, 1).End(xlDown).Offset(1, 0))
End If
End If
Next
End With
End Sub

Gruß
Nepumuk
Anzeige
AW: Werte einlesen und passend einfügen
10.04.2021 13:42:42
Jonas
Hallo Nepumuk,
vielen vielen Dank für den VBA-Code! Dieser funktioniert in dieser Fassung allerdings andersherum wie geplant. Ich habe nun die Tabellennamen umgetauscht und er funktioniert in der Beispiel-Datei einwandfrei. Für die Original-Datei muss ich noch hinbekommen die Spalten anzupassen, in welcher die Werte eingefügt werden. Bin aber zuversichtlich, dass sogar ich das hinbekommen werde. Also nochmal vielen Dank für die schnelle und hilfreiche Lösung! :)
Gruß Jonas
AW: Werte einlesen und passend einfügen
10.04.2021 13:49:23
Nepumuk
Hallo Jonas,
dann habe ich das falsch verstanden. So sollte es funktionieren:
Option Explicit
Public Sub Abgleich()
Dim lngRow As Long
Dim objCell As Range
With Worksheets("Bemerkungen")
For lngRow = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
If Not IsEmpty(.Cells(lngRow, 2).Value) Or _
Not IsEmpty(.Cells(lngRow, 4).Value) Then
Set objCell = Worksheets("Daten").Columns(6).Find(What:= _
.Cells(lngRow, 6).Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not objCell Is Nothing Then
objCell.Offset(0, -2).Value = .Cells(lngRow, 4).Value
objCell.Offset(0, -4).Value = .Cells(lngRow, 2).Value
Set objCell = Nothing
End If
End If
Next
End With
End Sub

Der Abgleich erfolgt über die Kundennummer.
Gruß
Nepumuk
Anzeige
AW: Werte einlesen und passend einfügen
12.04.2021 09:43:55
Jonas
Hallo Nepumuk,
wollte dir nur kurz mitteilen, dass der VBA-Code einwandfrei funktioniert. Weltklasse! :)
Vielen Dank!
Gruß Jonas
AW: könnte man trotzdem ohne VBA lösen ...
09.04.2021 17:51:22
neopa
Hallo Jonas,
... und zwar mittels PowerQuery-Funktionalität. Dazu bedarf es nur einmalig weniger Mausklicks. Bin jetzt allerdings gleich erst einmal offline und evtl. erst morgen wieder online.
Gruß Werner
.. , - ...
AW: könnte man trotzdem ohne VBA lösen ...
09.04.2021 18:01:41
Jonas
Danke für die schnelle Antwort! Das hört sich spannend an. Keine Eile :)
AW: dazu nachgefragt ...
10.04.2021 09:10:19
neopa
Hallo jonas,
... die von Nepumuk eingestellte VBA-Lösung schreibt neue/geänderte Daten aus "Daten" in "Bemerkungen". Ich hatte es bisher genau andersherum aufgefasst, Wobei mir nun noch unklar ist, warum Du eine neue Beispieldatei eingestellt hattest, die bereits in beiden Tabellen die gleichen Daten in Ausnahmen und Bemerkungen zu stehen hast und was Du also wirklich anstrebst?
Wie auch immer, eine (gegebenenfalls noch entsprechend angepasste) VBA-Lösung von Nepumuk wäre mE aber (m)einer PQ-Lösung sicher vorzuziehen.. zumal mein "standardmäßig" in einer 3. Tabelle zusammengefasst ausgegeben würde.
Gruß Werner
.. , - ...
Anzeige
AW: dazu nachgefragt ...
10.04.2021 13:37:32
Jonas
Hallo Werner,
ich habe mir die VBA-Lösung von Nepumuk gerade angeschaut. Du hast Recht. Es soll andersherum funktionieren. Die Spalten "Ausnahme" und "Bemerkung" ist in der Ausgangslage leer. Somit sollen die Werte aus den Spalten "Ausnahme" und "Bemerkung" von Tabellenblatt "Bemerkungen" zur jeweils passenden Kundennummer auf Tabellenblatt "Daten" eingefügt werden.
Ich hab jetzt einfach die Tabellennamen umgedreht und siehe da, in der Beispiel-Datei funktioniert es. In der Original-Datei läuft es leider noch nicht so rund bzgl. des Findens der richtigen Spalten auf Tabellenblatt "Daten". Ich werde mir dies aber erstmal selber anschauen - "Learning by doing". Falls ich es nicht hinbekommen sollte, melde ich mich auf jeden Fall wieder.
Vielen Dank! :)
Gruß Jonas
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige