Kann mir jemand sagen, wie man nur die Zeilen (welche ich aus einer Tabelle entnehme) in einer Textbox anzeigt, nachdem ein Autofilter aktiviert wurde?
Ich möchte nicht, dass alle Zeilen angezeigt werden.
Danke!
Gruss
Jann
wie Du eine Listbox füllst müsstest Du hier im Downloadbereich finden.
Und mit der "SpecialCells-Methode" kannst Du die "unsichbaren finden:
zb:
If Cells(i, 5) = xlCellTypeVisible Then
Userform1.Lstbox1.AddItem
Else
End If
*ungetestet**
Gruss Frank P
gruß
mattis
gruß
mattis
'ClassModule: frmFilter
Private Sub cmdFilter_Click()
If ActiveSheet.FilterMode = False Then
ActiveSheet.FilterMode = True
End If
Range("A1").AutoFilter field:=5, Criteria1:="AH" & _
txtfilter.Text, Operator:=xlOr
ActiveCell = txtfilter.Value
End Sub
Private Sub cmdWeiter_Click()
Unload Me
End Sub
'StandardModule: basMain
Sub DialogAufruf()
frmFilter.Show
End Sub
Ich helfe Dir gerne eine Lösung zu schustern, dafür müßte
ich aber wissen welche Kriterien DEIN Autofilter hat.
(z.B nichtleere Felder, Top10 oder Benutzerdefiniert).
Willst Du das Ergebnis in eine Textbox, oder wie Frank
geschrieben hat, in eine Listbox einlesen.
Soll die Text/Listbox in einer Userform sein?
gruß
mattis
End Sub
Private Sub cmbOk_Click() '
Dim Branche As String
Dim Genre As String
Branche = choix.cboBranche.Value
Genre = choix.cboGenre.Value
Columns("E:F").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="=*" & Branche & "*", Operator:=xlAnd
Selection.AutoFilter Field:=2, Criteria1:="=*" & Genre & "*", Operator:=xlAnd
Unload Me
Sheets("Feuil1").Activate
Application.ScreenUpdating = False
Application.WindowState = xlMaximized
AppActivate "Microsoft Excel"
Range("A1").Select
End Sub
Nun möchte ich jedoch diese beiden Kriterien in einer Userform in verschiedenen Textboxen angeben.
Verstehst du was ich meine?
Public Sub RemplirListe(ByRef frm As UserForm, sh As String, rge As String, cbo As String)
Worksheets(sh).Activate
frm.Controls(cbo).RowSource = Worksheets(sh).Range(rge).Address
End Sub
Folgende Modifikationen sind mir eingefallen:
Laut Hans ist Select und Activate Teufelszeug.
So, nun zum weiteren Verständnis:
Du lädst beim Starten der Userform die Brachen Spalte(BB)
und die Genres Spalte(BA) in die Comboboxen ein.
Wählst nun jeweils ein Punkt aus der Combobox aus.
(Ich habe nun mal stand. den jeweils ersten eingelesen).
Und wenn Du nun den CommandButton drückst, dann
sollen die Spalten E und F nach den Kriterien Branche
und dann noch nach Genre sortiert werden. Richtig soweit?
Meiner Meinung nach ist es doch sinnvoll die Comboboxen
so zu lassen wie sie sind, denn sie werden nur einmal
beim Start der Userform eingeladen, und sollten dann
doch alle Branchen und Genres zur Verfügung stellen.
Ich würde nun abraten mehrere Textboxen zu benutzen.
Stattdessen könnte man auf derselben Userform eine
ein TabStrip(Register) mit einer Textbox anlegen.
Über die Registerkarten könnte man sich dann durchklicken
und es wird jeweils der dazugehörige Text in die
Textbox eingelesen.
Oder, wenn es gar zu viele Register wären (ich habe keinen Überblick über Deine Datenmengen) könnte man mit Hilfe eines SpinButtons (Drehfeld-Button) sich durch die Einträge "durchzappen".
Das Ganze hätte den Vorteil, das Du komplett von der Tabelle
wegkommst, Dich aber komfortabel über die Comboboxen
durch die Tabelle hindurchnavigierst, und ähnlich einer
Karteikarte das Ergebnis in derselben Userform vorliegen
hast.
What do ya think?
Die Comboboxen haben alle Branchen und Genres
anwählbar. Die Textbox kann aber nur die sichtbaren
(gefilterten)Zeilen der Tabelle übernehmen. Die
Userform könnte beim Laden der Tabelle automatisch
erscheinen.
So könnte ich auch auf einen Filterbutton verzichten, denn
sobald das Genre festgelegt ist kann ich den ersten Eintrag
in das Textfeld übernehmen. Dazu wäre ein Zähler möglich,
der die Anzahl der Genreeinträge "Eintrag 5 von 8" angibt.
Wie Du siehst sind die Möglichkeiten vielfältig. Ich kann
Dir aber nicht versprechen, das heute noch hinzucoden.
Aber anfangen kann ich mal...
gruß mattis
An dieser Stelle: Schier grenzenloses Lob an dieses
Forum - besser als jedes Buch. Und um den Forumteil-
nehmern nicht auf die Nerven zu gehen hab ich ab und
zu mal die Online-Hilfe befragt.
Ich werde mir heute nicht mehr den Abend um die Ohren
schlagen. Aber ich würde sagen: Ich bleib dran.
see ya tommorow
geruhsame Nacht
mattis
Servus Jann,
Ich habe Dir leider kein Bild mailen können,
daher habe ich mich entschieden Dir mein
Layoutentwurf per Code zu übermitteln.
Dadurch habe ich die Sub Ctrldsgn entworfen,
die ich (und vielleicht auch noch andere) gut
gebrauchen kann. Füge die zwei Subs bei Dir
hinzu und rufe in Userform_Initialize die
Sub ReDesignForm auf.
Als Grundmuster brauchst du eine Userform mit
Frame1:
mit Label1, Label2, cmdOk, cboGenre, cboBranche
Frame2:
mit Label3, SpinButton1, TextBox1
So könnte es also aussehen...
gruß
mattis