Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
816to820
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
816to820
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Wert in anderer Tabelle suchen

Wert in anderer Tabelle suchen
15.11.2006 11:28:38
Metman
Hallo,
Ich hab grad voll den Blackout.
Mein Problem : Ich habe zwei Tabellen.
Tabelle1 und Import. Import sind importierte Zahlen/Werte aus einer txt Datei.
In Tabelle1 habe ich eine Art Datenbank. Nun muss ich in Tabelle1 in der Spalte B Werte rauslesen und prüfen ob diese in Import vorhanden sind.
Die Werte in Tabelle1, Spalte B müssen in 3 Teilbereiche zerlegt werden
Das funktioniert auch :
For Each Wert in Worksheets("Tabelle1").Range("B8:Bx") bereich1 = Mid(Wert, 1, 2)
bereich2 = Mid(Wert, 3, 4)
bereich3 = Mid(Wert, 7, 2)
bsp: ab1234cd
bereich1 = ab
bereich2 = 1234
bereich3 = cd
Der soll jede Zeichenkette in Tabelle1 Spalte B durchsuchen, dort wo was drinsteht(es steht nicht in jeder zeile etwas drin, kann also leer sein), zerlegen in 3 bereiche und zuerst bereich2 in Tabelle IMPORT suchen, wenn vorhanden, überprüfen ob bereich3 nach bereich2 vorhanden ist, WENN JA, zusätzlich bereich1 überprüfen. Wenn alles korrekt ist, soll in Tabelle1 wo ab1234cd drinstand, grün markiert werden.
Wenn bereich1 oder bereich3 anders ist aber bereich2 korrekt, gelb markiert werden. Wenn bereich2 nicht vorhanden ist, rot markieren. dann is es egal ob bereich1 nud bereich3 vorhanden is. Also Fokus liegt auf bereich2.
Achja, in Tabelle IMPORT sind die Werte so aufgeteilt
SpalteD|SpalteE|SpalteF
bereich1|bereich2|bereich3
Zu dem x oben :ich hab eine Stopmarkierung eingefügt -> ENDE steht nach der Datenbank. Bis dahin soll der die Tabelle1 in Spalte B durchsuchen bzw. die Werte entnehmen. Sprich, man kann später noch zusätzliche Werte eingeben.
hoffe ich hab das verständlich genug ausgedrückt. Versuche das schon seit morgens 6 Uhr hinzukriegen.
Hoffe jemand kann helfen.
best regards
ps.: die werte sind alles strings

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert in anderer Tabelle suchen
15.11.2006 12:55:37
Heiko
Hallo Metmann,
vielleicht kommt das deine Wunsch ja schon nahe, anpassen des Codes sollte bei VBA GUT dann ja kein Problem sein.

Sub auswerten()
Dim lngLastRow As Long, lngi As Long
Dim strB1 As String, strB2 As String, strB3 As String
Dim rngFind As Range
lngLastRow = Worksheets("Tabelle1").Cells(Rows.Count, 2).End(xlUp).Row
For lngi = 8 To lngLastRow
strB1 = Left(Worksheets("Tabelle1").Cells(lngi, 2), 2)
strB2 = Mid(Worksheets("Tabelle1").Cells(lngi, 2), 3, 4)
strB3 = Right(Worksheets("Tabelle1").Cells(lngi, 2), 2)
If strB2 <> "" Then
With Worksheets("Import").Range("E:E")
Set rngFind = .Find(strB2, LookIn:=xlValues)
If Not rngFind Is Nothing Then
If rngFind.Offset(0, 1).Text = strB3 And rngFind.Offset(0, -1).Text = strB1 Then
Worksheets("Tabelle1").Cells(lngi, 2).Interior.ColorIndex = 4
Else
Worksheets("Tabelle1").Cells(lngi, 2).Interior.ColorIndex = 6
End If
Else
Worksheets("Tabelle1").Cells(lngi, 2).Interior.ColorIndex = 3
End If
End With
End If
Next lngi
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Wert in anderer Tabelle suchen
15.11.2006 13:29:05
Metman
Hallo Heiko,
Danke, ich versuchs später. Ich bin grad voll dabei. die Mittagspause hat echt gut getan.
Public

Sub ID_Suchen()
Dim PGN, Prio, SA As String
Dim rngFound As Range
Dim Wert
Dim Id_Range As Range
'Set Id_Range = ThisWorkbook.Worksheet("Datenbasis").Range("B8:B122")
For Each Wert In Worksheets("Datenbasis").Range("B8:B122")
'     bereich1 = Mid(Wert, 1, 2)
bereich2 = Mid(Wert, 3, 4)
'     bereich3 = Mid(Wert, 7, 2)
With Worksheets(3).Range("E6").EntireColumn
Set rngFound = .Find(bereich2, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, MatchByte:=False)
If rngFound Is Nothing Then
Wert.Interior.ColorIndex = 3
Else
Wert.Interior.ColorIndex = 4
End If
End With
Next Wert
End Sub

Ist nur für bereich2. Ich versuchs jetzt erstmal alleine, wenns nicht klappt, versuch ichs mit deinem Code! Bin grad ziemlich begeistert das es klappt :)
Anzeige
Geschlossen
15.11.2006 13:34:16
Heiko
Hallo,
wenn du es alleine hinkriegst dann kann der Thread wohl geschlossen werden.
Gruß Heiko
AW: Wert in anderer Tabelle suchen
15.11.2006 13:47:18
Metman
Heiko, du bist mein persönlicher Held. Deine Lösung is viel komfortabler als meine!!
SUPER!
Ich programmier dennoch mal meins fertig aber deins ist perfekt!
gruß
metman
AW: Wert in anderer Tabelle suchen
16.11.2006 08:22:28
Metman
Guten Morgen Heiko,
habe nun ein Problem entdeckt.
Es funktioniert zwar wunderbar, aber das Programm sucht den ersten Wert (strB2) UND dann vergleicht er ob strB1 und strB3 passen.
Das Problem ist, das der Wert strB1,strB2 und strB3 irgendwo in der Tabelle existiert, diesen aber nicht mehr sucht.
Habe mir überlegt vorher ne While schleife einzufügen, das es zuerst die ganze Tabelle IMPORT durchsucht und falls strB1+strB2+strB3 nicht existiert, die Abfrage normal weitermacht.
Funktioniert aber auch nicht. Hast du eine Idee?
gruß
metman
Anzeige
AW: Wert in anderer Tabelle suchen
16.11.2006 11:00:03
Heiko
Hallo Metman,
Hä, habe ich nicht verstanden dein Problem.
Wo is das Problem?
Kann der Eintrag strB2 mehrmals in Import Tabelle vorkommen und sollen dann alle gesucht werden.
Oder is das Problem das wenn strB2 gefunden wurde strB1 und strB3 nicht nur links und rechts von strB2 gesucht werden sollen sondern in der ganzen Spalte C oder E.
Versuche doch mal ne Beispielmappe zu machen, damit ich das nachvollziehen kann, so ohne weitere Infos ist das etwas schwierig.
Gruß Heiko
PS: Rückmeldung wäre nett !
AW: Wert in anderer Tabelle suchen
20.11.2006 09:21:40
Metman
Guten Morgen Heiko,
strB2 (PGN) kann mehrmals in Import vorkommen.
oder halt der ganze Bereich (Identifier).
Ich hab das nun so gemacht das es nun in imported keine spalten mehr sind sondern ein zusammengesetzter String in Spalte D.
Er soll zuerst nach dem ganzen String suchen, wenn vorhanden, grün einfärben(in Datenbasis), wenn der ganze IDentifier nicht vorhanden ist, nach der PGN (strB2) suchen, falls vorhanden, überprüfen ob strB1(Prio) oder strB3(SA) vorhanden ist, wenn ja, gelb einfärben. Wenn Identifier nicht vorhanden ist und auch die PGN nicht, dann rot einfärben.
Kann die Datei nicht hochladen. Keine ahnung warum.
könnte es dir per email zukommen lassen
gruß
metman
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige