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

Formel aufschlüsseln

Formel aufschlüsseln
20.03.2007 10:34:33
Krauti
Liebe Excel-Gemeinde,
ein Kollege hat mir vor seinem Urlaubsantritt in Unkenntnis meiner rudimentären VBA-Kenntnisse eine unfertige Datei zur Fertigestellung zukommen lassen, die ich versuche zu entschlüsseln, um die Formel bzw. den Code auch auf weitere Zellen in derselben Datei anwenden zu können. Die Datei enthält Zeitungsartikel und die Formel bzw. der Code dient der Suche nach Autoren in der Spalte E.
Was ich bislang herausfinden konnte:
In Spalte E3 kann man einen Autorennamen eingeben und nach verlassen der Zelle fängt das System an zu suchen. Das ist der dahinterliegende Code:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets(1)
Call ws.Range("B6").AutoFilter(2, "yes", , , True)
ws.Range("E3").Activate
End Sub
Daraufhin habe ich die Spalte B eingeblendet. In den Zeilen steht jeweils "Yes" und folgender Code:
=WENN($E$3="";"Yes";WENN(ISTZAHL(SUCHEN($E$3;E7));"yes";"No"))
Soweit, wie ich die Formel verstehe, wird in Spalte B auf die Zelle E3 (die Eingabezelle für den Suchbegriff) geschaut. Solange die Zelle E3 leer ist, steht in Spalte B automatisch "Yes" und sämtliche Datensätze werden angezeigt. Sobald eine Eingabe vorgenommen wurde, sucht Spalte B nach dem Suchbegriff in Spalte E und scheibt beim Auffinden "Yes" und ansonsten "No". Der Code wiederum filtert nach allen "Yes"-Einträgen und zeigt nur diese an.
Was ich leider nicht genau nachvollziehen kann, ist der VBA-Code. Ich denke, daraus erkennen zu können, dass das erste Arbeitsblatt benannt wird. Dann wird in Spalte B6 der Autofilter angesprochen. Den unten formatierten Klammerzusatz kann ich jedoch leider nicht deuten. Und wozu dient der Part ws.Range("E3").Activate ?

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets(1)
Call ws.Range("B6").AutoFilter(2, "yes", , , True)
ws.Range("E3").Activate
End Sub
Vielen lieben Dank an all jene, die meinen monströsen Text bis hierhin durchgelesen haben. Ich würde mich sehr freuen, wenn Ihr mir vielleicht einen kleinen Tipp geben könntet, was genau bei den angesprochenen Bereichen im Code passiert.
Schöne Grüße aus dem trüben Berlin
Krauti

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel aufschlüsseln
20.03.2007 10:46:32
Hans
Hallo Krauti,
das ist ein etwas ungewöhnlicher, aber funktionierender Autofilteraufruf.
Die übergebenen Parameter:

  • 2 = Spalte

  • "yes" = Kriterium

  • "True" = VisibleDropDown


Gruss hans
AW: Formel aufschlüsseln
20.03.2007 11:20:08
Krauti
Herzlichen Dank für die schnelle Antwort.
Die drei Kommata vor dem True sind sicherlich programmiertechnisch erforderlich. Ich werde sie jedenfalls so übernehmen. Sicher ist sicher.
Nochmals vielen Dank und schöne Grüße
Krauti
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige