Excel 2003 und Suchfeld

Dieses Thema Excel 2003 und Suchfeld im Forum "Microsoft Office Suite" wurde erstellt von wimmers, 27. März 2009.

Thema: Excel 2003 und Suchfeld http://www.wintotal-forum.de/index.php/topic,91493.0.html Hallo ich habe eine Frage zu einem alten Beitrag mit...

  1. http://www.wintotal-forum.de/index.php/topic,91493.0.html

    Hallo ich habe eine Frage zu einem alten Beitrag mit einer Lösung von Matjes:

    Wie muss das Makro aussehen, wenn für das Ergebnis mehrere Bedingungen erfüllt sein müssen?

    Suche:
    Name Vowahl Telefon Netz Mobil[/b]
    Frank 05543 1234567 0162 89594681
    Dieter 03391 5454893 0173 60023373
    Peter 04896 7763895 0171 54698255

    Suche in Spalte A nach et und in Spalte D nach 0173. Als Ergebnis sollte dann nur die Zeile 3 sprich Dieter angezeigt werden. Das ganze sollte flexibel mit Suchfeldern von Spalte A bis P funktionieren.

    Danke im voraus und

    Gruß
    Jörg
     
  2. Hallo Jörg,

    du meinst also es sollten die Zeilen angezeigt werden, in denen die eingegebenen Suchbegriffe vorkommen (UND-Verknüpfung der Suchbegriffe).
    Dann muß die Funktion Function ZeilenMitSuchbegriffenAnzeigen angepasst werden.

    Code:
    Function ZeilenMitSuchbegriffenAnzeigen2( _
                 ws As Worksheet, _
                 f() As MySuchbegriffe_structure, _
                 f_cnt As Long)
     
     Dim l_ZeileMax As Long, x As Long, z As Long, zzz As Long, lZeile As Long
     Dim bAlleSuchbegriffeEnthalten As Boolean, bFound As Boolean
     
    ->erstmal alle Zeilen ausblenden
     l_ZeileMax = ws.UsedRange.Row + ws.UsedRange.Rows.Count - 1
     ws.Rows(c_ERSTEWERTEZEILE & : & l_ZeileMax).Hidden = True
     
    ->gemerkte Zeilen mit Fundort einblenden, wenn in allen Spalten mit Suchbegriff der jeweilige Suchbegriff trifft
     For z = 1 To f(1).z_cnt
      lZeile = f(1).z(z)
      bAlleSuchbegriffeEnthalten = True
      For x = 1 To f_cnt
       bFound = False
       For zzz = 1 To f(x).z_cnt
        If f(x).z(zzz) = lZeile Then bFound = True: Exit For
       Next zzz
       If Not bFound Then bAlleSuchbegriffeEnthalten = False: Exit For
      Next x
      If bAlleSuchbegriffeEnthalten Then ws.Rows(f(1).z(z)).Hidden = False
     Next z
    
    End Function
    Gruß Matjes ;)
     
  3. Sh....
    manchmal sieht mal den Wald vor lauter Bäumen nicht. Das war es ! :|
    Nicht lachen aber ich habe gestern 5 Stunden daran rumgedoktert.......ohne Erfolg.

    Matjes danke für die schnelle Hilfe (auch noch um nach 23 Uhr !)

    Gruß
    Jörg

    P.S. Ist es möglich, dass die Suche bereits während der Eingabe startet oder muss die Zelle vorher zwingend mit Enter verlassen werden ???
     
  4. Hallo Jörg,

    bei Enter wird das Worksheet_Change-Ereignis ausgelöst. Das ist halt so :(

    Gruß Matjes :)
     
Die Seite wird geladen...

Excel 2003 und Suchfeld - Ähnliche Themen

Forum Datum
Excel 2003 - Kleines Problem mit einer Formel Microsoft Office Suite 25. Juni 2014
Office 2003 und 2010 Paralellinstallatin, mehrer xls-Dateien Excel 2003 zuweisen Windows XP Forum 13. Juli 2012
2 Spalten in Excel 2003 fixieren Microsoft Office Suite 28. Mai 2012
MS Excel 2003 ganze Zeilen löschen Microsoft Office Suite 1. Okt. 2011
Verlinkung nach Umstieg Excel 2003 auf 2007 Microsoft Office Suite 23. Mai 2011