Anzeige
Archiv - Navigation
964to968
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
964to968
964to968
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Neue Daten in ein anderes Arbeitsblatt übertragen

Neue Daten in ein anderes Arbeitsblatt übertragen
07.04.2008 18:27:00
Orina
HAllo Excel-Profis,
Ich habe folgendes Problem:
ich möchte aus einer Liste im Arbeitsblatt "alt" Werte der Spalte A, die in Spalte B mit einem "x" gekennzeichnet sind, in ein neues Arbeitsblatt "neu" übertragen. In dem neuen Arbeitsblatt werden dann in weiteren Spalten zusätzliche Informationen zu diesen Werten hinterlegt. Jede Zeile in dem neuen Arbeitsblatt entspricht somit einem Datensatz
Das lässt sich am Anfang natürlich ganz einfach manuell lösen, in dem man lediglich die nach "x" gefilterten Werte überträgt.
Mein Problem ist jedoch, dass im Arbeitsblatt "alt" durch andere Personen neue Werte irgendwo in die Liste eingefügt werden, die nun automatisch in das Arbeitsblatt "neu" übertragen werden müssen. Und zwar so, dass meine im Arbeitsblatt "neu" bestehenden Datensätze nicht auseinandergerissen werden, d.h. die Zeilen im Arbeitsblatt "neu" vollständig erhalten bleiben. Am besten wäre es dabei, wenn sich die neuen Werte auch noch automatisch nach alphabetischer Reihenfolge in das Arbeitsblatt "neu" eingliedern würden. Der Marker "x" im Arbeitsblatt "alt" wird dabei durch die anderen Personen gesetzt.
Arbeitsblätter, vor Einfügen von neuen Werten
"alt"
abc x
bcd
cde x
def
fgh x
"neu"
abc Infoa
cde Infoc
fhg Infof
und so sollte es nach dem Einfügen von neuen Werten in das Arbeitsblatt "alt" aussehen
"alt"
abc x
bcd
d x
cde x
def
fgh x
"neu"
abc Infoa
cde Infoc
d
fhg Infof
Bitte helft mir
Danke
ORina

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Neue Daten in ein anderes Arbeitsblatt übertragen
08.04.2008 10:34:00
Wolli
Hallo Orina, das Makro müsste also folgende Schritte durchlaufen:
Durchlaufe die Liste "alt". Immer, wenn Du ein "x" in der Spalte B findest, prüfe, ob der entsprechende Wert schon in Liste "neu" enthalten ist. Ist das nicht der Fall, suche für diesen Wert einen alphabetisch richtigen Platz, füge eine komplette Zeile ein und setze den Wert ein.
Zu beachten:
- Durch das Entfernen eines "x" in der "alt"-Tabelle wird der Wert in der "neu"-Tabelle nicht gelöscht.
- Es gilt die Annahme, dass die Liste "neu" stets sortiert ist.
- Die Zeilen in Liste "alt" sind eindeutig, d.h. es gibt keine Doppelungen.
Wenn das alles zutrifft, ist dies Dein Makro:

Option Explicit
Sub Listuebernahme()
Dim lngAltZeile As Long, _
lngNeuZeile As Long, _
rngZielVorhanden As Range, _
strEinfuegeWert As String
lngAltZeile = 1
Do
' "x" vorhanden?
If Sheets("alt").Cells(lngAltZeile, 2) = "x" Then
' Prüfen, ob der Wert schon in der "neu"-Tabelle enthalten ist
Set rngZielVorhanden = Sheets("neu").Columns(1). _
Find(What:=Sheets("alt").Cells(lngAltZeile, 1), _
LookAt:=xlWhole)
' Wenn er nicht enthalten ist, dann ...
If rngZielVorhanden Is Nothing Then
' Wert merken
strEinfuegeWert = Sheets("alt").Cells(lngAltZeile, 1)
' Einfügeposition suchen [Startpos. zur Sicherheit immer ab Z. 1]
lngNeuZeile = 1
Do While Sheets("neu").Cells(lngNeuZeile, 1)  ""
lngNeuZeile = lngNeuZeile + 1
Loop
' Zeile einfügen
Sheets("neu").Rows(lngNeuZeile).EntireRow.Insert
Sheets("neu").Cells(lngNeuZeile, 1) = strEinfuegeWert
End If
End If
lngAltZeile = lngAltZeile + 1
Loop Until Sheets("alt").Cells(lngAltZeile, 1) = ""
End Sub


Hier nochmal als komplette Excel-Datei:
https://www.herber.de/bbs/user/51338.xls
Gruß, Wolli

Anzeige
AW: Neue Daten in ein anderes Arbeitsblatt übertragen
Orina
Hallo Wolli, vielen Dank;
mein Problem ist doch noch ein bischen komplizierter, als ursprünglich gedacht und ich schaffe mit meinen lausigen VBA-Kenntnissen den Transfer nicht:
im Arbeitsblatt "alt" können in derselben Spalte teilweise dieselben Einträge stehen, unterschieden wird erst in einer weiteren Spalte. In dieser weiteren Spalte können wiederum dieselben Werte stehen. Die Kombination der Werte aus Spalte 1 und Spalte2 ist jedoch einzigartig. D.h. nur beide Spalten zusammen identifizieren den Datensatz im Arbeitabatt "alt". Beide Spalten müssen in das Arbeitsblatt "neu" übertragen werden
Arbeitsblätter, vor Einfügen von neuen Werten
"alt"
abc aaa x
abc bbb x
bcd bbb
cde aaa x
def ccc
fgh ccc x
"neu"
abc aaa Infoa
abc bbb Infoabc
cde aaa Infoc
fhg ccc Infof
und so sollte es nach dem Einfügen von neuen Werten in das Arbeitsblatt "alt" aussehen
"alt"
abc aaa x
abc bbb x
bcd bbb
d bbb x
cde aaa x
def ccc
fgh ccc x
"neu"
abc aaa Infoa
abc bbb Infoabc
cde aaa Infoc
d bbb
fhg ccc Infof
Wie müsste ich Deinen Code anpassen?
Danke!!!
https://www.herber.de/bbs/user/51355.xls

Anzeige
AW: Neue Daten in ein anderes Arbeitsblatt übertragen
09.04.2008 09:23:00
Wolli
Hallo Orina,
ich habe den Code mal angepasst, jedoch (im Gegensatz zum ersten Mal) nur rudimentär getestet, also prüfe ihn gründlich! Statt die Find-Funktion zu nutzen, durchlaufe ich jetzt die ganze Tabelle und teste die Spalten 1 und 2 auf Übereinstimmung.
https://www.herber.de/bbs/user/51365.xls
Gruß, Wolli

AW: Neue Daten in ein anderes Arbeitsblatt übertragen
Orina
Super!
Das ist genau das, was ich brauche!
Vielen Dank Wolli!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige