Clever-Excel-Forum

Normale Version: 2 Fragen, combobox und Autofilter
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hi,

stecke mal wieder fest und komme nicht mehr weiter. 2 Dinge habe ich:
1.

Combobox befüllen (ohne leerzeilen) leider ohne aktualisierung. Mein Code
Code:
Private Sub UserForm_initialize()
Dim Zelle as Range
TextBox3.SetFocus
TextBox3.Locked = True

ComboBox1.Clear
With Worksheet("x")
For Each Zelle In .Range(.Range("C2"), .Range("C86").End(xlDown))
If Zelle.Value <> "" Then ComboBox1.AddItem Zelle.Value
Next
End With
End Sub

Die userform wird beim öffnen der Datei automatisch gestartet. Die combobox füllt sich alles ok. Änder ich nun im Zellenbereich C2:C86 einen Wert, wird dieser nicht aktualisiert in der box. (klar, liegt am userform_initialize)
ich habe nun den gleichen code in Combobox1_change / dropbuttonclick usw eingefügt dass diese neu lädt. Leider kann ich dann keinen Wert mehr auswählen wegen dem Combobox1.Clear. Lösch ich dieses, wird die combobox trotzdem nicht aktualisiert.

Dann habe ich noch probier mit Rowsource im eigenschaftsfeld die Werte zuzuweissen. Klappt gut, jedoch nimmt er immer die werte von dem letzten aktiven tabellenblatt wenn die datei abgespeichert wird. Hat jemand eine lösung?


2. ich habe eine grosse tabelle die autogefiltert wird. Bsp:

Filter 1: zeigt mir 100 Zeilen an.
dann suche ich etwas und scrolle nach unten.
Dann benutze ich den Filter 2, dieser zeigt reduziert den Filter auf 20 Zeilen.
Problem: da ich nach unter gescrollt habe, wird mir eine leere tabelle angezeigt. ich muss manuell hochscrollen um die 20 werte zu sehen.
gibt es einen kniff wie ich nach dem Befehl die erste Zeile der neuen gefilterten Daten sehe?

Vielen Dank für die Hilfe :)
Wenn ein Userform gestartet wird ist ein combobox/listbox immer leer.
Combobox1.clear oder listbox1.clear ist völlig redundant.

Eine Mustrdatei hochladen wäre nicht schlecht.
Hallo,

zu 1.
wenn es mit Rowsource gut klappt, dann musst Du noch den Tabellennamen dazu nehemne.

Tabelle1!C2:C86



zu 2.
ohne Makro keine Möglichkeit, denke ich oder Du hebst die Fixierung auf
Hi Atilla, ja das ist ne vba programmierung, ich habe es mit ActiveWindow.SmallScroll Down:=-100 probiert, geht aber nicht

bezgl. der combobox, dann sind aber die leeren zellen noch drin :(
Hallo 'rotzi',

zu 2.:

Code:
 Application.Goto Reference:=.Cells(2, 1), Scroll:=True
Bei .Cells Deine erste Zelle im Datenbereich


Gruß Carsten

Edit zu 1.:
Keine Ahnung was Du genau willst.
Lade bitte eine Beispieldatei hoch, denn sonst müsste ich das erst nachbauen.
Hi Carsten,

welche Zelle meinst du? Der Autofilter ist im Zellenbereich 4 gesetzt.

das erste filter ergebnis kann zb. Zelle 7 sein, das zweite wird 7 ausblenden und 10 einblenden. Was sollte ich nun setzten? hab rumprobiert, funkt ned
Hier bitte Datei.

Also, knopf drücken, userform erscheint mit cmobobox, ohne leerzeilen - > Passt.
Die userform soll nicht geschlossen werden und wieder aktiviert, sie ist dauerhaft da.
nun ändere einen wert in dem A bereich, dann wird die combobox nicht aktualisiert. (klar weil die prozedur auf activate greift)
ich habe alle prozeduren mit combobox ausprobiert, sie wird nicht upgedated. irgendwo hab ich ein denkfehler.
Hallo rotzi,

teste zu 2.

Application.Goto reference:=Cells(1, ActiveSheet.AutoFilter.Range(xlCellTypeVisible)), Scroll:=True

Wenn kein Filter, dann kann es zu Fehlern kommen.
geht leider nicht :(
Code:
Private Sub CommandButton1_Click()
    UserForm1.Show vbModeless
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Column = 1 Then UserForm1.ComboBox1.List = Filter([transpose(if(isblank(snb),"~",snb))], "~", 0)
End Sub

in userform


Code:
Private Sub UserForm_initialize()
   Tabelle1.UsedRange.Name = "snb"
   ComboBox1.List = Filter([transpose(if(isblank(snb),"~",snb))], "~", 0)
End Sub
Seiten: 1 2 3