Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Auswahlbox

Forumthread: Auswahlbox

Auswahlbox
31.03.2003 17:33:15
Werner
Hallo, könnt Ihr mir helfen ??

Ich habe eine Tabelle in der z.B. in Spalte "G" verschiedene Zahlen stehen. Wie kann ich diese über eine Auswahlbox auswählen.
Über Autofilter wähle ich etwa 17 aus und mir werden alle zugehörigen Daten zu 17 angezeigt. Ich möchte dies über ein Makro abfragen können in dem ich diese in einer Box auswählen kann entwede 12 oder 6 oder 17.
Sorry bin Excell Anfänger und die seite ist echt SUUUPer


Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Auswahlbox
01.04.2003 00:08:44
heinz

tut mir leid - ich komm nicht mit
gibts nur 6 12 und 17 ? gibts die jeweils öfter ? wo soll sich die auswahlbox befinden ? was soll dort drin stehn (nur 6 12 und 17 ?) was soll das makro dann abfragen ? soll das filtern irgendwie anders gehen ?

Re: Auswahlbox
01.04.2003 18:37:38
Werner

Hallo Heinz,
in Spalte G stehen Nummern,von LKW 1 bis 420, wenn ich über Autofilter Tour 17 auswähle, so werden alle Kunden die in dieser Tour vorkommen herausgefiltert. Wo die Auswahlbox Steht ist mir egal haupsache ich kann schnell eine Tournummer eingeben und nicht den Umweg über den Autofilter. Sprich eine Box wird angezeit, ich gebe eine Zahl von 1-420 ein und es sollen alle Kunden die in dieser Tour vorkommen angezeigt werden.

Anzeige
Re: Auswahlbox
03.04.2003 00:37:23
heinz

also - ich kann dir fogendes anbieten:

drücke ALT und dann F11 - klick auf "Einfügen" und dann auf "Modul" - füge dort den code da unten (Sub filtern() usw.) dort auf der leeren weißen fläche ein.
geh zurück zur tabelle, klick mit der rechten maustaste auf den freien bereich in der menüleiste - es öffnet sich eine liste in der du "Formular" finden solltest. klick mit links auf "Formular" - es öffnet sich eine symbolleiste - klick dort auf das button-symbol (steht "Schaltfläche" im tip-text wenn du drauf zeigst) und ziehe in deiner tabelle ein fenster auf sodass ein button (vermutlich mit der aufschrift "Schaltfläche 1") erscheint und das Fenster "Makro zuweisen" aufgeht - klick auf "filtern" in der liste und auf OK - rechten mausklick auf den button und "Steuerelement formatieren" "Eigenschaften" "von Zellposition und Größe unabhängig" klick irgendwo in die tabelle und schließ das "Formular" fenster.
(aktiviere den autofilter)
jetzt:
bei klick auf die tour also zb den wert "17" und klick auf button wird 17 rausgefiltert als ob dus mit dem autofilter machen würdest.
bei klick auf eine leere zelle und button kommt die liste wieder ohne filter.

macht spaß so zackig rausfiltern - schneller gehts glaub ich nur noch wenn man den code unter dem tabellenblatt-ereignis "Change" abspeichert - dann genügt ein klick in irgendeine zelle und schon wird mit dem wert dieser zelle gefiltert - aber das wird wahrscheinlich eher lästig kommen.


Sub filtern()
On Error Resume Next
Dim kriterium As String
kriterium = ActiveCell.Text
If kriterium = "" Then
Selection.AutoFilter Field:=7
Else: Cells(1, 3).AutoFilter Field:=7, Criteria1:=kriterium
End If
End Sub

fg heinz





Anzeige
Re: Auswahlbox
03.04.2003 09:47:37
heinz

hallo noch mal - vielleicht gehts so besser - ohne button

alt & f11 (vba editor öffnet sich)
einfügen - modul (ein leeres weißes "blatt" erscheint)
ansicht - projektexplorer(so n explorer-fenster kommt)
öffne mit doppelklick (unter vbaprojekt) - deinetabelle
klick oben links (da steht (Allgemein)) auf worksheet
klick rechts (da steht (Deklarationen)) Change
dann kommt das:
Private Sub Worksheet_Change(ByVal Target As Range)

End Sub
kopiere den code da unten dort rein
aktiviere in der tabelle den autofilter
jetzt kannst du in zelle h1 eine tour reinschreiben zb "17" und dann wird gefiltert - wenn der wert wo anders rein muss, dann änder einfach das programm entsprechend

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next 'wenn was schiefgeht - untern tisch kehren
Dim kriterium As String 'variable deklarieren
kriterium = Cells(1, 8).Text 'wert an variable zuweisen
'der 8ter bedeutet spalte h
'syntax: cells(zeile, spalte) kannst ändern wie du willst
If kriterium = "0" Then 'wenn 0 drin steht...
Selection.AutoFilter Field:=7 '...dann kein filter...
Else: Cells(1, 3).AutoFilter Field:=7, Criteria1:=kriterium
'...sonst filtern nach kriterium (was in zelle h1 steht)
End If 'fertig mit wenn und aber
End Sub 'feierabend

da wärn noch ein paar verbesserungen möglich muss jetzt aber zum zahnarzt - schreib mal ne zeile - heinz


Anzeige
Re: Auswahlbox
04.04.2003 21:07:44
Werner

Hi Heinz
vielen Dank für deine Antwort:

Das mit dem Sub filtern() hab ich hingekriegt, der zweite weg hat bei mir nicht funktioniert aber kann mann das mit dem Button eventuell verfeinern, ich denke da an eine, ich glaube man nennt es UserForm ??

In den Datei stehen ca 35000 Datensätze ich lass zuerst ein Makro drüberlaufen das mir die unwichtigen Spalten und Zeilen schon mal rauslöscht, dann muß ich über Autofilter die Tournummer eingeben und dann lass ich noch ein zweites Makro Drüberlaufen.

Meine Frage ist es möglich ?
-ich starte Makro1 und am ende von diesem geht ein kleines Fenster auf
-in dem steht "Bitte geben sie eine Tournummer ein"
-man gibt eine Tournummer ein und bestätigt mit "OK" oder Abbrechen
-Fenster schließt sich wieder
-es wird gefiltert und anschließend mein 2tes Makro ausgeführt

P.S.

gibt es ein gutes Buch mit dem man VBA erlernen kann ?

Mfg
Werner

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige