Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1932to1936
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

Daten aus Tabelle filtern und übertragen

Daten aus Tabelle filtern und übertragen
07.06.2023 11:07:28
Björn Kruse

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

Hallo,
ich beiße mir gerade an folgendem Problem die Zähne aus.
Wie in der Datei im Reiter Ausgang befinden sich meine Daten in einer Tabelle die Horizontal verläuft. Die Spalte B, habe ich nur zur Erläuterung eingefügt in richtigen Material existiert diese nicht.
Im Ersten Schritt muss natürlich abgeklärt werden ob das Jahr Reiter Ausgang-A1, schon eingetragen ist.

Sub DurchsuchenUndEinfügen2()
Dim WertSuchen As String
    Dim Suchbereich As Range
    Dim Zelle As Variant
    
    ' Wert zum Suchen aus Ausgang
    WertSuchen = Sheets("Ausgang").Range("A1").Value
    
    ' Suchbereich in Zeile 5 von DiagrammDaten
    lsp = Sheets("DiagrammDaten").Cells(5, Columns.Count).End(xlToLeft).Column
    Set Suchbereich = Sheets("DiagrammDaten").Range("A5").Resize(1, lsp)
    
    ' Durchsuche den Suchbereich nach dem Wert
    For Each Zelle In Suchbereich
        ' Überprüfe, ob der Wert gefunden wurde
            If Zelle = WertSuchen Then MsgBox "Gefunden": Exit Sub
    Next Zelle
    
   ' Einfüge des Werts in die erste freie Zelle in Zeile 2
   lsp = Sheets("DiagrammDaten").Cells(5, 1).End(xlToRight).Column + 1
   If lsp > Columns.Count Then lsp = 1  'Korrektur 1.Spalte
   Sheets("DiagrammDaten").Cells(5, lsp).Value = WertSuchen
   MsgBox "Eingetragen"
End Sub


Im Reiter Liste befinden sich die für dieses Jahr relevanten IDs, diese müssen im ersten Schritt mit den IDs im Reiter DiagrammDaten abgeglichen werden und die DiagrammDaten werden gegebenfalls ergänzt.
Sub ListenVergleichenUndEinfügen()
    Dim ws1 As Worksheet ' Arbeitsblatt für Liste 1
    Dim ws2 As Worksheet ' Arbeitsblatt für Liste 2
    Dim letzteZeile1 As Long ' letzte Zeile in Liste 1
    Dim letzteZeile2 As Long ' letzte Zeile in Liste 2
    Dim i As Long ' Zähler für Schleife
    
    ' Arbeitsblätter festlegen
    Set ws1 = ThisWorkbook.Sheets("Liste")
    Set ws2 = ThisWorkbook.Sheets("DiagrammDaten")
    
    ' Letzte Zeile in Liste 1 ermitteln
    letzteZeile1 = ws1.Cells(ws1.Rows.Count, 1).End(xlUp).Row
    
    ' Letzte Zeile in Liste 2 ermitteln
    letzteZeile2 = ws2.Cells(ws2.Rows.Count, 1).End(xlUp).Row
    
    ' Schleife zum Vergleichen und Einfügen der fehlenden Elemente
    For i = letzteZeile2 To 4 Step -1
        ' Überprüfen, ob Element aus Liste 2 in Liste 1 vorhanden ist
        If WorksheetFunction.CountIf(ws1.Range("A6:A" & letzteZeile1), ws2.Cells(i, 1).Value) = 0 Then
            ' Fehlendes Element an das Ende von Liste 1 einfügen
            letzteZeile1 = letzteZeile1 + 1
            ws1.Cells(letzteZeile1, 1).Value = ws2.Cells(i, 1).Value
        End If
    Next i
    
    MsgBox "Vergleich und Einfügevorgang abgeschlossen."
End Sub


Jetzt kommt der spannende Teil aus dem Reiter Ausgang soll für jede ID für das richtige Jahr, Reiter"Ausgang"-A1, folgendes in DiagrammDaten ergänzt werden Name und Pkt. Mittels VBA müsste also die Zeile 2 im Reiter Ausgang mit den IDs aus dem Reiter DiagrammDaten Spalte A abgeglichen werden und dann die einzelnen Werte in die Spalte mit dem richtigen Jahr kopiert werden und der Name in die Spalte neben der ID ersetzt werden. Meine bisherigen Versuche waren erfolglos. Ich hoffe ihr könnt mir da weiter helfen. Falls ihr zusätzlich noch Anmerkungen zu den anderen Codeblöcken habt bin ich immer dankbar weiter lernen zu können,

Vielen Dank

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

Betreff
Datum
Anwender
Anzeige
AW: Daten aus Tabelle filtern und übertragen
13.06.2023 06:41:23
Oberschlumpf
Hi Björn,

hast du schon eine Lösung?
Nein?

Wie du siehst, hat hier (auch?) niemand geantwortet.
Dieser Thread wird auch bald geschlossen (ins Archiv verschoben).

Daher würd ich empfehlen, dass du einen neuen Beitrag erstellst - aber! - nicht wieder alles auf einmal "verlangst", sondern erst mal nur 1 Frage zu deinen Problemen stellst - mit entsprechender Bsp-Datei.

Und wenn diese Frage dann beantwortet ist, erstellst du wieder einen neuen Beitrag...mit der nächsten Frage...usw

Ciao
Thorsten


AW: Daten aus Tabelle filtern und übertragen
13.06.2023 08:04:20
Björn Kruse
Hallo Thorsten,

Es tut mir leid falls der Eindruck entstanden ist ich würde zu viel auf einmal verlangen.

Aber könntest du das bitte näher erläutern? Ich beschreibe meine Frage und habe mit den Codeblöcken nur versucht meinen bisherigen Fortschritt darzustellen.
Eine Beispieldatei ist vorhanden und ich Frage auch nur einer Sache. Ich wollte halt möglichst viel Kontext liefern.

Meine eigentlich Frage ist eigentlich dieser Abschnitt
Jetzt kommt der spannende Teil aus dem Reiter Ausgang soll für jede ID für das richtige Jahr, Reiter"Ausgang"-A1, folgendes in DiagrammDaten ergänzt werden Name und Pkt. Mittels VBA müsste also die Zeile 2 im Reiter Ausgang mit den IDs aus dem Reiter DiagrammDaten Spalte A abgeglichen werden und dann die einzelnen Werte in die Spalte mit dem richtigen Jahr kopiert werden und der Name in die Spalte neben der ID ersetzt werden. Meine bisherigen Versuche waren erfolglos. Ich hoffe ihr könnt mir da weiter helfen. Falls ihr zusätzlich noch Anmerkungen zu den anderen Codeblöcken habt bin ich immer dankbar weiter lernen zu können

Ich hatte bis jetzt den Eindruck, dass es in diesem Forum gewünscht ist sowohl Kontext als auch einen "Beweis" der eigenen Bemühungen und Gedanken darzustellen.

Wenn ich mir hier getäuscht haben sollte tut es mir leid und ich passe mich dementsprechend gerne an.

Liebe Grüße

Björn


Anzeige
AW: Daten aus Tabelle filtern und übertragen
13.06.2023 20:41:33
Oberschlumpf
Hi Björn,

ok, du hast mehr recht als ich! :-)
Sorry, ja, eigtl hattest du ja schon alles so gemacht, worum ich dich gebeten hatte - daher kann ich deine Verwunderung nach dem Lesen meines Beitrags verstehen.

Ok, wieso hab ich das geschrieben?
Der Grund kann dann sein, weil ich vielleicht nicht verstanden habe, was du erreichen möchtest und dahinter dann eben gleich ganz viele Fragen vermutet habe.

Z Bsp
In Blatt "Ausgang" steht in Zelle A1 das Jahr 2022
In Blatt "DiagrammDaten" steht in Zelle F das Jahr 2021
In Blatt "Jahresliste" steht nirgendwo eine Jahreszahl - woher soll Excel wissen, dass diese 3 IDs in "Jahresliste" genau für dieses Jahr = 2023 sein sollen...und 2023 hat ja auch nix mit 2022 + 2021 gemeinsam

Somit dürfte dein Suchmakro, beginnend mit For Each Zelle In Suchbereich und endend mit Next Zelle schon mal keinen Treffer finden, weil eben 2022 nicht 2021 ist.
Ach so...Suchmakro...in deiner Bsp-Datei sind gar keine Makros enthalten.

Wie gesagt, zumindest ich verstehe einiges nicht - aber! - DAS kann natürlich auch an mir liegen, weil...auch ich verstehe natürlich nicht immer alles.

Unabhängig davon würde ich dir weiterhin empfehlen, wenn du noch Hilfe brauchst, erstell einen neuen Beitrag, weil dieser hier bald im Archiv verschwindet.

Ciao
Thorsten


Anzeige
AW: Daten aus Tabelle filtern und übertragen
14.06.2023 09:26:33
Björn Kruse
Hi Thorsten,

Ich versuche jeden Tag ein bisschen besser zu werden ob nun im meinem Job oder beim Foreneintrags schreiben. Darum bin ich dir dankbar für deine Anmerkungen. Ich werde das ganze noch einmal übersichtlicher gestalten und versuchen eine Beschreibung zu verfassen die verständlicher ist.

Liebe Grüße

Björn

229 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige