Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1332to1336
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
makro autofilter mit Eingabebox setzen
11.10.2013 12:53:34
Ramon
Hallo zusammen,
ich habe eine Liste erstellt, die als Ersatzteilliste für verschiedene ( mittlerweilen 28 verschiedene)Maschinentypen benutzt werden soll.
Die Liste enthält mittlerweilen ca 3000 Datensätze zu den einzelnen Materialien.
Viele der Materialien werden in mehreren Maschinentypen eingesetzt.
Mein Ziel ist es nun, dass beim öffnen der Liste ein Makro startet welches mit einer Eingabebox oder wenn dies möglich ist, eine dropdown-Auswahl mit den verschiedenen Typen nach dem Maschinentyp fragt.
Das Makro soll dann die Zeile 2 nach dem eingegeben Begriff durchsuchen und in der Spalte in der der Suchbegriff gefunden wird, einen Autofilter der alle Zeilen die in der gefundenen Spalte mit "x" markiert sind.
Damit sollen dann alle in der Liste enthaltenen Ersatzteile die für den ausgewählten Typ relevant sind angezeigt werden.
ich für mich arbeite immer mit dem Autofilter, aber die liste wird weltweit verteilt und landet in den Händen von leuten die weitaus weniger mit Excell arbeiten als ich. Deshalb soll die Liste für diejenigen so komfortabel wie möglich zu benutzen sein ;o)
Danke euch im Voraus für eure Ideen.
beispieldatei unter:
https://www.herber.de/bbs/user/87617.zip
Grüsse,
Ramon

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: makro autofilter mit Eingabebox setzen
11.10.2013 14:53:17
grassshopper
Versuchs mal hiermit:
Private Sub Workbook_open()
Dim letzteSpalte
letzteSpalte = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
For x = 4 To letzteSpalte 'von Spalte D(4.Spalte) bis zur letzten verwendeten Spalte Schleife  _
durchlaufen
Me.ComboBox1.AddItem (ActiveSheet.Cells(2, x).Value) 'alle Bezeichnungen aus Zeile 2 in  _
ComboBox übernehmen
Next
End Sub

Private Sub ComboBox1_Change()
Dim letzteSpalte
Dim firstAddress
Dim feldAutofilter
letzteSpalte = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
'Autofilter auf Spalte 2 setzen:
ActiveSheet.AutoFilterMode = False 'eventuell vorher gesetzten Filter löschen
ActiveSheet.Range("B2").Select
Selection.AutoFilter 'Autofilter (bisher ohne Kriterien) setzen
With ActiveSheet.Range("B2:N2")
Set c = .Find(Me.ComboBox1.Value, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
Range(firstAddress).Select
'Selection.AutoFilter
feldAutofilter = c.Column - 1 'der Filter beginnt erst in der zweiten Spalte, also  _
Index um 1 reduzieren
ActiveSheet.Range(firstAddress).AutoFilter field:=c.Column - 1, Criteria1:=""
'c.Value = 5
'Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address  firstAddress
End If
End With
End Sub

Gruß,
grassshopper

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige