ich habe folgendes Problem ich habe in einem zweiten Tabellenblatt eine große Liste, mit ca. 400 Firmennamen, mit Daten etc. In diesem Tabellenblatt sind teilweise die Firmen doppelt vorhanden.
In einem anderen Tabellenblatt, stehen alle Firmen nur einmal. Genau in diesem Tabellenblatt muss jetzt hinter den Lieferanten die Anzahl angezeigt werden, wie oft diese in dem Anderen Tabellenblatt stehen.
Als Grundlage für das Suchen habe ich diese Funktion:
Sub Lieferanten_neu() Dim Suchwert As String Dim Zelle As Range Dim Ergebnis As String Dim Zaehler As Long Suchwert = InputBox("Bitte geben Sie den Begriff ein ") If Suchwert = "" Then: Exit Sub For Each Zelle In Range("D9:D20") ' If zelle= suchwert Then Ergebnis = Ergebnis + "," + Zelle.Address Zaehler = Zaehler + 1 End If Next Zelle If Ergebnis "" Then Range(Mid(Ergebnis, 2)).Select Cells(4, 4) = Zaehler Else MsgBox "Suchbegriff wurde nicht gefunden!", vbOKOnly, "Suchbegriff nicht vorhanden!" End If End Sub
Mit dieser kann man schon manuell nach einem beliebigen String bzw. Zeileninhalt suchen und die häufigkeit mit der dieser auftaucht, wird ausgegeben.
Leider sollte es so sein, dass automatisch bei dem Start, bzw. wenn etwas verändert wurde die Gesamte Liste angepasst wird.
Sprich:
Formular öffnen -> in Tabellenblatt 1 wird automatisch geschrieben, wie oft die Firmen in Tabellenblatt 2 stehen.
Ich komm nun irgendwie nicht weiter, kann ich irgendwie mit einer for-Schleife die Daten aus Tabellenblatt 1 holen und diese dem Suchwert zuweisen und dies für jeden Wert in Tabelle 1 tun?
// Als Beispiel habe ich eine Excel-Datei angehängt.
Die Datei https://www.herber.de/bbs/user/63695.xls wurde aus Datenschutzgründen gelöscht