Office: Liste erstellen mit Daten aus vorhandenem Tabellenblatt

Helfe beim Thema Liste erstellen mit Daten aus vorhandenem Tabellenblatt in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo VBA Spezialisten, ich möchte aus einem Tabellenblatt mit Unmengen von Zeilen bestimmte Zeilen auswählen, welche dann in ein weiteres (bereits... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von lcars11, 30. August 2010.

  1. Liste erstellen mit Daten aus vorhandenem Tabellenblatt


    Hallo VBA Spezialisten,

    ich möchte aus einem Tabellenblatt mit Unmengen von Zeilen bestimmte Zeilen auswählen, welche dann in ein weiteres (bereits vorhandenes) Blatt kopiert bzw. eingefügt werden sollen. Sinnvollerweise alle untereinander

    Zu den Details:

    Blatt "Daten" ist die Quellliste.
    Blatt "Abgabeliste" ist die Zielliste.

    Wenn ich jetzt z.B. in "P3" (Datenblatt) ein X setze, sollen die Zellbereiche "A3" bis "D3" kopiert und im Blatt Abgabeliste in "A6" bis "D6" eingefügt werden.
    Wenn ich nun in "P5" ein X setze sollen die Zellbereiche "A5" bis "D5" kopiert und im Blatt Abgabeliste in "A7" bis "D7" eingefügt werden, usw.

    Ich hoffe ich habe mich verständlich ausgedrückt und vielen Dank vorab für Eure Hilfe.

    :)
     
    lcars11, 30. August 2010
    #1
  2. Ich habe schon einen Codeschnipsel gefunden der sagt das reagiert werden soll, wenn die Zellen in Spalte P mit x befüllt werden:
    Code:
    Mit dem kopieren/einfügen in das andere Blatt hab ich jetzt jedoch Probleme...


    Kann mir jemand sagen ob wenigstens der Ansatz richtig ist?
     
    lcars11, 31. August 2010
    #2
  3. Hallo lcars,

    wenn das Makro darauf reagieren soll, sobald in Spalte P ein "x" eingetragen wird (oder mehrere gleichzeitig), würde ich Worksheet_Change favorisieren (reagiert auf Änderungen einer Zelle innerhalb eines Blattes).

    Wenn Du ein X einträgst, sollen also bestimmte Werte kopiert werden. Was soll passieren, wenn Du das x wieder entfernst? Soll der Datensatz im anderen Blatt ebenfalls wieder gelöscht werden? Wenn ja, wie kann dieser zweifelsfrei identifiziert werden (damit nicht ein falscher Datensatz gelöscht wird)? Angenommen, Du trägst ein x ein (Datensatz wird kopiert), löscht es wieder und trägst wieder ein x ein: Soll dann geprüft werden, ob dieser schon vorhanden ist? Auch hier wieder: Wie kann der Datensatz eindeutig identifiziert werden?

    Oder soll das Makro nicht auf jede einzelne Änderung reagieren, sondern die Daten "in einem Rutsch" übertragen, z. B. durch Auslösung durch den Benutzer?

    Grüße
    EarlFred
     
    EarlFred, 31. August 2010
    #3
  4. Liste erstellen mit Daten aus vorhandenem Tabellenblatt

    Hallo EarlFred,

    danke zunächst für die schnelle Antwort. Ich habe schon länger im Netz nach einer Lösung gesucht, aber leider nichts gefunden. Darum habe ich mich heute hier angemeldet.

    Das Makro soll lediglich kopieren und im anderen Blatt einfügen wenn das X gesetzt wird. Wenn ein weiteres X in gleicher spalte weiter unten gesetzt wird, soll der zugehörige Datensatz in die Ergebnisliste direkt unter den ersten eingefügt werden.
    Wenn das X gelöscht und wieder gesetzt wird, dann könnten die daten doppelt in die Ergebnisliste eingefügt werden, das ist nicht schön aber unschädlich, da ich davon ausgehe, dass niemand ein X 2x setzen würde.

    Ich denke mal das ist die einfachste variante... wenn es eine möglichkeit gäbe die kopierten daten abzugleichen und bei "x"-entfernung auch im ausgabeblatt wieder zu löschen, wär das natürlich eine noch sauberere lösung, aber nicht unbedingt erforderlich.
     
    lcars11, 31. August 2010
    #4
  5. Hallo lcars,

    dann probier mal folgenden Code, ob er das tut, was er soll:
    Code:
    Kopieren und Einfügen: Rechtsklick auf den Tabellenreiter vom Blatt "Daten", dort unter "Code anzeigen"

    Grüße
    EarlFred
     
    EarlFred, 31. August 2010
    #5
  6. Wow ich bin begeistert... das funktioniert perfekt!!
    Bist echt n Experte, vielen Dank!!


    Macht es große Umstände das ganze so umzuschreiben, dass die Einträge im Ausgabeblatt wieder gelöscht werden wenn man das X in Spalte "P" entfernt?

    Oder

    Kann man verhindern, dass Doppeleinträge in die Ausgabeliste geraten, indem VBA vor dem kopieren einen Abgleich mit der Ausgabeliste macht und prüft, ob der Datensatz schon vorhanden ist? Und wenn ja ihn dann nicht kopiert und die Nachricht ausgibt, dass der Datensatz schon vorhanden ist?
     
    lcars11, 31. August 2010
    #6
  7. Hallo lcars,

    machbar ist das schon, aber hier nochmal meine Frage:
    Gibt es ein EINDEUTIGES Kriterium, das einen Datensatz identifiziert? Und wo steht dieses Kriterium?

    Grüße
    EarlFred
     
    EarlFred, 1. September 2010
    #7
  8. Liste erstellen mit Daten aus vorhandenem Tabellenblatt

    Hallo EarlFred,

    sorry dass ich darauf nicht gleich eingegangen bin.

    Ja es gibt pro Datensatz eine Vorgangsnummer die in Spalte A steht, diese ist bei jeder Zeile unterschiedlich, somit könnte man die Spalte A bzw. die QuellZelle der Spalte A als Kriterium nehmen und mit der Spalte A der Ergebnisliste vergleichen.
    Natürlich müsste VBA die ganze Spalte A in der Zieldatei prüfen, ob der Wert aus der Quelle bereits vorhanden ist.

    Ich hoffe ich drücke mich einigermaßen verständlich aus!?!!

    Grüße
    lcars
     
  9. Hallo lcars,

    probier mal folgenden, angepassten Code:
    Code:
    Grüße
    EarlFred
     
    EarlFred, 1. September 2010
    #9
  10. Hallo,

    aus irgend einem Grund kopiert er jetzt die Daten nicht mehr in die Abgabeliste... das hat aber vermutlich nichts mit deinem Code zu tun.

    Der erste Code funktioniert auch nicht mehr. Ich habe in Blatt "Daten" noch weitere Codes, die das erstellen des X erleichtern sollen (per Doppelklick).

    Könnte es sein, dass etwas fehlt oder ich stwas versehendlich gelöscht habe?

    Habe mir die übrigen codes aus dem Netz zusammengebastelt

    Code:
     
  11. Hallo Icars,

    ja, Du hast was verändert *wink.gif*

    Korrigier mal bitte

    Code:
    Noch ein Tipp: Passwörter gehören niemals ins Internet, änder das mal bitte in Deinem geposteten Code.

    Grüße
    EarlFred
     
  12. Rechts hast du, deshalb hab ich auch ein völlig anderes passwort hier reingeschrieben *wink.gif*

    Okay das mit dem X stimmt, spielt aber keine Rolle, er scheint sowohl das große X als auch das kleine x zu nehmen.

    Inzwischen laufen wieder beide Codes... vielen Dank!!!
    ...und nein ich weiß nicht warum sie eben nicht liefen.

    Sag mal.. muss das
    Code:
    Immer am Anfang stehen?
    Ich hatte es erst am Ende unter dem anderen Code für Doppelklick setzt X-Zeichen, und da hat er mir gesagt dass hinter einem End Sub nur Kommentare stehen dürfen. Das "Option Explicit" gehört doch aber zu dem Code meiner neuen Anweisung (Liste erstellen).
     
  13. Liste erstellen mit Daten aus vorhandenem Tabellenblatt

    Jetzt hab ich noch ein Problem,

    die Ausgabeliste enthält unten eine Zeile mit Text zum Unterschreiben bzw. Abzeichnen, dass die Liste übernommen wurde.

    Wenn ich jetzt einige Male die Xe an der Quelle setze und entferne, rücken diese Zeilen der Ausgabeliste immer weiter nach oben, weil er jedes mal, wenn ein X entfernt wird eine Zeile löscht (so meine Vermutung).
    Hast du dazu eine Idee wie man das verhindern kann?
     
  14. Hallo Icars,

    Eben deshalb habe ich UCase verwendet. Der Zellwert wird in Großbuchstaben gewandelt, so dass Eingaben von "x" oder "X" gleich behandelt werden, dann aber natürlich auch gegen den Wert "X" zu prüfen sind (und nicht "x"). Denk mal in einer ruhigen Minute drüber nach (und lies ein bisschen in der OH).

    Zu Option Explicit: Das betrifft jeweils das komplette Modul. Lies einfach mal in der OH dazu nach.

    Unwissen solltest Du in Wissen, Vermutungen in Gewißheit wandeln, bevor Du den Code verwendest. Ich setze voraus, dass mein Code verstanden wird, bevor er eingesetzt und / oder modifiziert wird.

    Zum "Verrutschen" der Unterschriftszeile: Den Code jetzt nochmal auf geänderte Wünsche hin anzupassen habe ich schlichtweg keine Lust. Das hätte von Anfang an klar sein können.
    Setz halt einfach die Unterschriftenzeile zuletzt auf das Blatt....

    Grüße
    EarlFred
     
  15. Hallo EarlFred,

    ich bemühe mich ständig die Beispiele welche ich anwende auch zu verstehen. Natürlich ist dafür das Studium von Hilfedateien als Grundlage erforderlich.

    Ich habe mir zusätzlich ein Videotutorial "Einstieg in VBA mit Excel" gekauft. Es liefert einige interessante Ansätze, zur Verwirklichung von solch komplexem Programmcode wie ich ihn hier benötige reicht es aber leider nicht.

    Vielen Dank noch einmal für Deine Hilfe.
     
Thema:

Liste erstellen mit Daten aus vorhandenem Tabellenblatt

Die Seite wird geladen...
  1. Liste erstellen mit Daten aus vorhandenem Tabellenblatt - Similar Threads - Liste erstellen Daten

  2. Sortierung einer "Basisliste" und drei neue Listen erstellen

    in Microsoft Excel Hilfe
    Sortierung einer "Basisliste" und drei neue Listen erstellen: Liebe Forenmitglieder, ich brauche Eure Unterstützung. Vorweg - ich nutze Office 365. Leider habe ich auch mit Google nicht die passende Lösung gefunden. Ich habe eine Liste mit vielen...
  3. fehlerhafte DropDown Liste von verbundenen Zellen

    in Microsoft Excel Hilfe
    fehlerhafte DropDown Liste von verbundenen Zellen: Hallo in meiner DropDown Liste habe ich leere Zeilen, welche ich nicht wegbekomme. Leider dienen als Quelle immer verbundene Zellen, das lässt sich leider auch nicht ändern. Gibt es eine...
  4. Aufzählungszeichen verschieben sich automatisch nach rechts

    in Microsoft Word Hilfe
    Aufzählungszeichen verschieben sich automatisch nach rechts: Hallo, ich habe seit ein paar Tagen ein super nerviges Problem in Word und bin langsam am Verzweifeln. Ich schreibe Lernzettel mit Stichpunkten, was etwa so aussieht: [ATTACH] Wenn ich allerdings...
  5. Erstellen oder Löschen einer benutzerdefinierten Liste zum Sortieren und Eintragen von Daten

    in Microsoft Excel Tutorials
    Erstellen oder Löschen einer benutzerdefinierten Liste zum Sortieren und Eintragen von Daten: Erstellen oder Löschen einer benutzerdefinierten Liste zum Sortieren und Eintragen von Daten Excel für Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010...
  6. Formular mit Drop Down Listen erstellen und Datensatz anzeigen lassen

    in Microsoft Access Hilfe
    Formular mit Drop Down Listen erstellen und Datensatz anzeigen lassen: Hallo zusammen Ich bin neu hier und auch bei Access bin ich ein Anfänger, daher brauch ich eure Hilfe. Ich möchte ein Formular erstellen, welches mittels DropDown Menüs meinen Datensatz filtert...
  7. Daten kopieren ohne doppelte Werte

    in Microsoft Excel Hilfe
    Daten kopieren ohne doppelte Werte: Hallo liebe Excel-Experten, ich suche eine Lösung für folgendes Problem: Im Tabellenblatt 1 stehen z.B. im Bereich A1 bis E3 Werte, die teilweise doppelt und dreifach vorkommen. <tbody> A B C...
  8. Liste aus verteilten Daten erstellen und diese sortieren

    in Microsoft Excel Hilfe
    Liste aus verteilten Daten erstellen und diese sortieren: Hi ^^ Ich bin nicht sooo gut in Excel und hoffe das mir jemand helfen kann. Ich möchte eine Liste erstellen wo ich Dinge eintragen kann die ich in bestimmten Räumen noch brauche. Der Zweck...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden