Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zellen Vergleichen in Liste und Tabelle
#1
Guten Morgen,

ich stehe vor folgendem Problem. 
Ich habe eine senkrechte Liste mit Zahlen und eine Waagerechte Tabelle mit Zahlen und Wörtern in einer Zelle.

ich habe das Beispiel einmal angehängt. 
.xlsx   TEst.xlsx (Größe: 11,92 KB / Downloads: 2)

Ich würde nun gerne aus Tabellenblatt 1 die rot makierten Zahlen mit den Zahlen in Tabellenblatt 2 vergleichen und danach die Zahlen die nicht vorhanden sind in Tabellenblatt 2 anhängen.
Das Problem ist, dass die Zahlen auf Blatt 1 alleine stehen und auf Blatt 2 ist ein Text mit in gleicher Zelle.
Was später auch passieren soll, dass ich im neuen Monat, 2 neue Blätter bekomme und Excel diese prüfung direkt automatisch wieder ausführt.
Lässt sich dies umsetzen? 

Könnt ihr mir dabei vielleicht helfen? 


Mit freundlichen Grüßen
Lennart
Antworten Top
#2
Hallo Lennart,
mit dem Code
Code:
Sub Machen()
  Ergaenzen "Tabelle1", "Tabelle2"
End Sub
Function Ergaenzen(Quelle As String, Ziel As String)
Dim i As Long, Wert As String, found As Object, spend As Long
  spend = 2
  Do
    spend = spend + 1
  Loop Until IsEmpty(Sheets(Ziel).Cells(1, spend))
  With Sheets(Quelle)
    For i = 1 To .Cells(.Rows.Count, 3).End(xlUp).Row
      Wert = .Cells(i, 3)
      Set found = ThisWorkbook.Sheets(Ziel).Rows(1).Find(what:=Wert, LookIn:=xlValues, lookat:=xlPart)
      If found Is Nothing Then  'noch nicht vorhanden
        Sheets(Ziel).Cells(1, spend) = Wert
        spend = spend + 1
      End If
    Next i
  End With
End Function
sollte das Gewünschte erfolgen.
Die 'Automatik' müsstest Du Dir selber basteln, bei 2 Tabellen pro Monat erscheinbt mir das aber nicht unbedingt notwendig...
Gruß der AlteDresdner (Win11, Off2021)
Antworten Top
#3
Hi,

vielen Dank, dass funktioniert schonmal super.
Ich bin jetzt nicht so begabt was VBA angeht.

Wenn ich das jetzt in meine Tabelle einfüge, funktioniert das leider nicht ganz richtig.
Da der Wert auf Tabellenblatt 1 in Spalte 2 steht und nicht in Spalte 3, hatte da einen Übertragungsfehler.
Könntest du nochmal sagen, welchen Wert etc. ich im Code ändern müsste, damit er Spalte  2 und nicht 3 nimmt?

Vielen Dank vorab!

Okay, habe es selber gerade hinbekommen :D

Tausend Dank, funktioniert einwandfrei!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste