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

Erweiterung oder VBA

Erweiterung oder VBA
11.12.2018 11:02:27
Hartmut
Hallo Excel Gemeinde.
Ich habe folgendes Problem.
Ich habe eine umfangreiche Kabelliste mit ca.16000 Eintragungen.
Dazu kommt eine Liste (PLT) mit ca.8000 Eintragungen.
Wenn ich mit
folgender Formel "=WENN($B2="";"";SVERWEIS("*"&$B2&"*";$F:$H;2;FALSCH))"
etwas suche bekomme ich immer nur einen Treffer angezeigt.
Wie kann ich alle Werte angezeigt bekommen. Ich habe teilweise 4 Treffer in der Kabelliste wenn ich separat unter Kabelnummer suche.
Allerdings brauche ich diesen Bezug zur PLT Liste.
Das heißt wenn ich einen Wert von der PLT List in ein Suchfeld eingebe dann sollen alle Treffer in der Kabelliste angezeigt werden.
Schon jetzt ein großes Danke für eure Hilfe.
Gruß
Hartmut

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Beispieldatei mit Erklärung hochladen! o.T.
11.12.2018 13:41:42
Sepp
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Beispieldatei mit Erklärung hochladen! o.T.
11.12.2018 14:59:49
Hartmut
Hallo Sepp,
ich habe einmal eine Beispieldatei hochgeladen.
https://www.herber.de/bbs/user/126022.xlsx
Es müssen nicht immer in allen Spalten Ergebnisse erscheinen. Manchmal gibt es auch nur ein Ergebnis in einer Spalte.
Danke für deine / Eure Hilfe.
Echt ein klasse Portal
Gruß
Hartmut
AW: Beispieldatei mit Erklärung hochladen! o.T.
11.12.2018 15:26:09
Sepp
Hallo Hartmut,
meinst du so?
Kabelliste 2018_11_29

 ABCDEF
1PosSuchfeldHilfsspalteErgebnisfeld 1 KabelErgebnisfeld VonErgebnisfeld Nach
21d53a16DA-F080D53A++W148+*F080D53A-T:-++W148+*VB14821002S1-A3:S4-
32 17DA-F080D53A-1++W148+*F080D53A-1-VC:12++W148+*VB14821002S1-A3:S5-
43 56DA-F090D53A++W148+*F090D53A-T:-++W148+*VB14821002S1-A1:S1-
54 57DA-F090D53A-1++W148+*F090D53A-1-VC:12++W148+*VB14821002S1-A1:S2-
65     
76     
87     
98     

Formeln der Tabelle
ZelleFormel
C2=WENNFEHLER(AGGREGAT(15;6;ZEILE($A$1:$A$19999)/(ISTZAHL(SUCHEN($B$2;G$2:G$20000))); ZEILE($A1)); "")
D2=WENN($C2="";"";INDEX(G$2:G$20000;$C2))
E2=WENN($C2="";"";INDEX(H$2:H$20000;$C2))
F2=WENN($C2="";"";INDEX(I$2:I$20000;$C2))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Das geht am einfachsten mit einer Hilfsspalte.
https://www.herber.de/bbs/user/126024.xlsx
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Beispieldatei mit Erklärung hochladen! o.T.
11.12.2018 16:01:47
Hartmut
Hallo Sepp,
nah dran. Wenn ich meine PLT Liste komplett in die Spalte B eingebe dann funktioniert das nicht mehr so wie erhofft. Dann findet er nur eine version. Ich habe die fixierung aufgehoben bei
Zeile($A$1... doch auch dann findet er nicht mehr.
=WENN(B4="";"";WENNFEHLER(AGGREGAT(15;6;ZEILE($A$1:$A$19999)/(ISTZAHL(SUCHEN($B4;G$2:G$20000))); ZEILE($A3));""))
Hast du evtl. eine andere Idee?
Aber schon einmal danke bis jetzt für deine Hilfe.
Gruß
Hartmu
AW: Beispieldatei mit Erklärung hochladen! o.T.
11.12.2018 16:06:13
Hartmut
auch die Änderung bei Istzahl(Suchen... ändert nichts am Ergebnis.
Gruß
Hartmut
AW: Beispieldatei mit Erklärung hochladen! o.T.
11.12.2018 18:36:32
Sepp
Hallo Hartmut,
dann würde ich eine VBA-Lösung bevorzugen.
https://www.herber.de/bbs/user/126027.xlsm
 ABCDEF
1Gruß Sepp
2
3

Anzeige
Korrektur und Änderung
11.12.2018 18:46:09
Sepp
Hallo nochmal,
in der bedingten Formatierung war noch ein Fehler, außerdem wird der Code jetzt gestartet sobald du in Spalte B eine Eingabe tätigst.
https://www.herber.de/bbs/user/126028.xlsm
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Korrektur und Änderung
11.12.2018 20:29:29
Hartmut
Hallo Sepp,
also das ist schon ein Klasse Teil welches du da gezaubert hast. Eine kleine Änderung wäre schön. Und zwar wenn die gesuchten Einträge zu den gefundenen Zeilen passen. Dann habe ich immer im Blick welche Zeilen zum Sucheintrag gehören.
Ansonsten sage ich mal DANKESCHÖN für deine Hilfe und auch an die gesamten Helferlein welche uns immer weider helfen und unterstützen.
Gruß
Hartmut
AW: Korrektur und Änderung
11.12.2018 20:37:50
Hartmut
Hallo Sepp,
leider kann ich nur ein paar einträge machen und anschließend sucht das Tool nichts mehr. Da war meine Aussage von eben leider nicht ganz richtig. Ich habe in der Tabelle jetzt drei weitere Eingaben gemacht, aber gesucht wurde nichts mehr.
Kannst du bitte noch einmal nachschauen.
Danke dir.
Gruß
Hartmut
Anzeige
AW: Korrektur und Änderung
11.12.2018 20:56:35
Sepp
Hallo Hartmut,
also bei mir wird alles gesucht, egal wie viele Einträge ich mache, ich kann also deinen Fehler nicht reproduzieren!
Zu deinem vorherigen Post: "Eine kleine Änderung wäre schön. Und zwar wenn die gesuchten Einträge zu den gefundenen Zeilen passen. Dann habe ich immer im Blick welche Zeilen zum Sucheintrag gehören."
Das musst du mir genauer beschreiben was du willst!
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Korrektur und Änderung
12.12.2018 06:49:38
Hartmut
Guten Morgen zusammen, Moin Sepp.
ich habe es noch einmal ausprobiert. Die Situation schildert sich wie folgt.
Wenn ich z.B. f007930 eingebe dann wird eine Nummer angezeigt in Spalte Kabel, allerdings taucht diese Nummer in anderen Feldern wesentlich öfters auf und diese werden dann nicht angezeigt, z.B. existiert diese Nummer in Spalte "von" 3mal. Und es wäre super wenn die gewünschte Suchnummer dann direkt neben der ersten gefundenen stehen würde, damit der Überblick gewahrt wird. Meine Suchliste umfasst ca.8000 Einträge und wenn ich diese dann dagegen fahren würde wäre der Überblick nicht mehr so gewährleistet.
Auf jeden Fall ein großes DANKE an euch.
Gruß
Hartmut
Anzeige
AW: Korrektur und Änderung
12.12.2018 18:48:44
Sepp
Hallo Hartmut,
so wie ich es bisher verstanden habe, wird nur in der Kabelliste gesucht und die korrespondierenden Einträge dargestellt.
Soll in allen 3 Spalten gesucht werden? Wie du dir die Darstellung der Suchergebnisse vorstellst, entzieht sich meiner Vorstellungskraft! Erstelle ein Beispiel in dem du das gewünschte ergebnis darstellst. Es sollte nachvollziehbar sein, was wo und warum angezeigt wird.
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Korrektur und Änderung
13.12.2018 07:40:32
Hartmut
Moin Sepp,
hier einmal eine Beispieldatei.
https://www.herber.de/bbs/user/126061.xlsx
Eine Suche mit verschiedenen Ergebnissen.
In Spalte 1 ein Treffer. In Spalte 2 kein Treffer. Aber in Spalte 3 sieben Treffer und alle Kabelnummern werden angezeigt.
Die Spalten werden also alle einzeln betrachtet.
Danke für deine Hilfe und tolle Performance.
Gruß
Hartmut
AW: Korrektur und Änderung
14.12.2018 08:31:25
Hartmut
Moin Sepp,
jep. Das ist es. Kannst du mir evtl. noch eine kleine bedeutung hinter den VBA Codes schreiben, damit ich in etwa verstehen kann wofür das ist. Aber ansonsten kann ich nur sagen "APPLAUS".
Vielen Dank für deine Hilfe.
Gruß
Hartmut
AW: Korrektur und Änderung
14.12.2018 19:15:58
Sepp
Hallo Hartmut,
freut mich, dass es klappt!
Hier der Code mit ein paar Kommentaren.
Private Sub Worksheet_Change(ByVal Target As Range) Dim varSearch As Variant, varOut() As Variant, varItem As Variant Dim rng As Range, rngS As Range, lngRow() As Long, strFirst As String Dim lngLast As Long, lngIndex As Long, lngCount As Long 'Fehlerbehandlung On Error GoTo ErrorHandler If Not Intersect(Target, Range("C:C")) Is Nothing Then 'wenn Änderung in Spalte C Application.EnableEvents = False 'Event-gesteuerte Makros deaktivieren, damit sich der Code nicht selber aufruft With Me Set rngS = .Range("G:I") 'Suchbereich definieren lngLast = Application.Max(3, .Cells(.Rows.Count, 3).End(xlUp).Row) 'letzte Zeile der Suchbegriffe ermitteln If lngLast = 2 Then Redim varSearch(1 To 1, 1 To 1) varSearch(1, 1) = .Range("C2") Else varSearch = .Range("C2:C" & lngLast) 'Suchbegriffe in ein Array einlesen End If .Range("C2:B" & lngLast) = "" 'Suchbegriffe leeren varSearch = toArrayUnique(varSearch) 'Array mit den Suchbegriffen bereinigen. Keine Doppelten! lngLast = Application.Max(2, .Cells(.Rows.Count, 7).End(xlUp).Row) 'letzte Zeile im Datenbereich bestimmen Redim varOut(1 To lngLast - 1, 1 To 5) 'Ausgabearray dimensionieren For Each varItem In varSearch 'Suchbegrife durchlaufen strFirst = "": Erase lngRow: Redim lngRow(0): lngCount = 0 'Hilfsvariablen leeren/reseten If Len(Trim(varItem)) Then 'Suchbegriff im Suchbereich suchen Set rng = rngS.Find(What:=varItem, LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False, _ SearchFormat:=False, SearchDirection:=xlNext, After:=rngS.Cells(1, 1)) If Not rng Is Nothing Then 'wenn Treffer strFirst = rng.Address 'Addresse des erten Treffers merken Do 'Suchschleife If IsError(Application.Match(rng.Row, lngRow, 0)) Then 'Wenn noch kein Treffer in der selben Zeile Redim Preserve lngRow(lngCount) 'Hilfsarray der Zeilennummern redimensionieren lngRow(lngCount) = rng.Row 'Zeilennummer des Treffers in das Hilfsarra schreiben lngCount = lngCount + 1 'Zähler hochzählen lngIndex = lngIndex + 1 '... varOut(lngIndex, 1) = varItem 'Suchbegriff in ertse Spalte das Ausgabe-Arrays schreiben für blockweise markierung If lngCount = 1 Then varOut(lngIndex, 2) = varItem 'Suchbegriff in erste Zeile der Trefferliste in zweite Spalte schreiben varOut(lngIndex, 3) = rngS.Cells(rng.Row, 1) 'Treffer in das Ausgabe-Array schreiben varOut(lngIndex, 4) = rngS.Cells(rng.Row, 2) '... varOut(lngIndex, 5) = rngS.Cells(rng.Row, 3) '... End If Set rng = rngS.FindNext(rng) 'weitersuchen Loop While Not rng Is Nothing And strFirst <> rng.Address 'Abbruchkriterien prüfen End If End If Next .Range("B2").Resize(Ubound(varOut, 1), 5) = varOut 'Ausgabe-Array in die Tabelle schreiben End With End If 'Fehlerbehandlung ErrorHandler: Application.EnableEvents = True 'Event-gesteuerte Makros wieder aktivieren End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

AW: Korrektur und Änderung
15.12.2018 03:07:03
Hartmut
Moin Sepp,
danke für die Erläuterung. Nur noch eine Frage. Wenn ich eine Zeile oberhalb einfügen möchte, reicht es aus wenn ich statt "C2", dann überall wo "C2" steht dann z.B. "C3" eingebe, oder muss ich noch etwas beachten.
Gruß
Hartmut
AW: Korrektur und Änderung
15.12.2018 10:44:23
Sepp
Hallo Hartmut,
evtl. musst du die bedingte Formatierung noch anpassen.
 ABCDEF
1Gruß Sepp
2
3

AW: Korrektur und Änderung
11.12.2018 22:18:19
Günther
Also Hartmut,
wenn sich der Suchbegriff immer am Ende befindet (mit oder ohne '-1') und immer im Format D##X ist, dann sollte das mit Power Query machbar sein. Ich habe mich an der Datei/ ersten Lösung 126024.xlsx von Sepp orientiert.
Gruß
Günther
AW: Beispieldatei mit Erklärung hochladen! o.T.
11.12.2018 16:14:16
Günther
Moin,
ich würde mir das ja gerne einmal ansehen, aber irgendwie "lügt" der Link zur hochgeladenen Datei. Ich bekomme nach einem Klick darauf konstant das File 120622.xlsx anstatt 126022.xlsx. Computer hat eben etwas mit Voodoo zu tun ... ;-)
Gruß
Günther

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige