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

Filtern ohne Select

Filtern ohne Select
27.09.2018 11:24:05
Peter
Hallo ihr Excelspezialisten,
ich habe eine umfangreiche UF.
Mit Auswahl Combobox und damit füllen von Label19 wird die Combobox4 gefüllt.
Hierzu benutze ich den nachstehenden Code:
Option Explicit
'Page1 Anfang Auswahl Vorgang2
Sub Vorgang2_Combobox4()
Dim letzte As Long
Dim Wert As String
Dim lngZeile As Long
'Wert = "Zweck"
Wert = UF_Buchung.Label19
Sheets("Hilfstabelle2").Select
With ThisWorkbook.Sheets("Hilfstabelle2")
letzte = .Cells(.Rows.Count, 1).End(xlUp).Row
Range("A1:B" & letzte).Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$B" & letzte).AutoFilter Field:=2, Criteria1:=Wert
With UF_Buchung.ComboBox4
.Clear
.ColumnCount = 2 'zweite Spalte in Listbox einrichten
.ColumnWidths = "3cm;0" 'Spaltenbreite der zweiten Spalte auf 0
.ColumnHeads = False
'  .AddItem ""  'leere erste Zeile in Liste
.AddItem ""  'leere erste Zeile in Liste nicht wählbar
For lngZeile = 2 To Sheets("Hilfstabelle2").Cells(Rows.Count, 1).End(xlUp).Row 'beginnt in  _
der 2. Zeile
If Not Rows(lngZeile).Hidden Then
.AddItem Cells(lngZeile, 1)
.List(.ListCount - 1, 1) = lngZeile 'Zeilennummer in die zweite Spalte schreiben
End If
Next
.ListIndex = 0
End With
End With
'End If
End Sub

'Page1 Ende Auswahl Vorgang2
Dieser Code funktioniert einwandfrei.
Da ich jedoch in diesem Forum mitbekommen habe, dass man Select und Activate bestmöglich vermeiden soll, wäre ich euch dankbar, wenn ihr mir den Code so ändert, dass keine Select erforderlich wird.
Besten Dank für eure Hilfe.
Gruss
Peter

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filtern ohne Select
27.09.2018 11:46:38
Luschi
Hallo Peter,
hier mal was zum Selbststudium:
https://www.online-excel.de/excel/singsel_vba.php?f=61
Gruß von Luschi
aus klein-Paris
AW: schaffe es nicht
27.09.2018 12:16:55
Peter
Hallo Luschi,
ich habe den Code umgebaut. Erfiltert zwar jetzt die "Hilfstabelle2" aber in die Combobox4
werden die Werte der aktiven Tabelle übernommen.
Nochmals anbei den neuen Code:
Sub Vorgang2_Combobox4a()
Dim letzte As Long
Dim Wert As String
Dim lngZeile As Long
'Wert = "Eltern/Sonst Einn"
Wert = UF_Buchung.Label19
With Worksheets("Hilfstabelle2")
letzte = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("$A$1:$B" & letzte).AutoFilter Field:=2, Criteria1:=Wert
With UF_Buchung.ComboBox4
.Clear
.ColumnCount = 2 'zweite Spalte in Listbox einrichten
.ColumnWidths = "3cm;0" 'Spaltenbreite der zweiten Spalte auf 0
.ColumnHeads = False
'  .AddItem ""  'leere erste Zeile in Liste
.AddItem ""  'leere erste Zeile in Liste nicht wählbar
For lngZeile = 2 To Sheets("Hilfstabelle2").Cells(Rows.Count, 1).End(xlUp).Row 'beginnt in  _
der 2. Zeile
If Not Rows(lngZeile).Hidden Then
.AddItem Cells(lngZeile, 1)
.List(.ListCount - 1, 1) = lngZeile 'Zeilennummer in die zweite Spalte schreiben
End If
Next
.ListIndex = 0
End With
End With
End Sub
Kannst Du mir bitte sagen, wo der Fehler liegt.
Gruss
Peter
Anzeige
AW: schaffe es nicht
27.09.2018 12:29:48
Daniel
Hi
Gehe deinen Code nochmal genau durch.
Du hast bei einem Cells die Tabellenblattangabe davor vergessen und musst die dort noch ergänzen.
Aufgrund des von dir beobachteten Effekts sollte du eigentlich schon vorhersagen können, an welcher Stelle im Code dieser Fehler liegen muss.
Gruß Daniel
AW: geschafft
27.09.2018 12:34:18
Peter
Hallo Daniel,
Fehler in Zeile .AddItem Cells(lngZeile, 1) muss heissen: .AddItem Worksheets("Hilfstabelle2").Cells(lngZeile, 1)
Besten Dank
Gruss
Peter
AW: schaffe es nicht
27.09.2018 12:39:32
Torsten

Sub Vorgang2_Combobox4a()
Dim letzte As Long
Dim Wert As String
Dim lngZeile As Long
'Wert = "Eltern/Sonst Einn"
Wert = UF_Buchung.Label19
With Worksheets("Hilfstabelle2")
letzte = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("$A$1:$B" & letzte).AutoFilter Field:=2, Criteria1:=Wert
End With
With UF_Buchung.ComboBox4
.Clear
.ColumnCount = 2 'zweite Spalte in Listbox einrichten
.ColumnWidths = "3cm;0" 'Spaltenbreite der zweiten Spalte auf 0
.ColumnHeads = False
'  .AddItem ""  'leere erste Zeile in Liste
.AddItem ""  'leere erste Zeile in Liste nicht wählbar
For lngZeile = 2 To Sheets("Hilfstabelle2").Cells(Rows.Count, 1).End(xlUp).Row 'beginnt in   _
_
der 2. Zeile
If Not Rows(lngZeile).Hidden Then
.AddItem Cells(lngZeile, 1)
.List(.ListCount - 1, 1) = lngZeile 'Zeilennummer in die zweite Spalte schreiben
End If
Next
.ListIndex = 0
End With
End Sub

Anzeige
AW: erledigt
27.09.2018 20:35:25
Peter
Hallo Thorsten,
habe es zwischenzeitlich gefunden und funktioniert.
Besten Dank
Gruss
Peter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige