Clever-Excel-Forum

Normale Version: Hilfe zur Dropdown Liste
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo,

ich benötige mal eure Hilfe. Ich habe eine Excel-Datei zur Stundenerfassung erstellt nun würde ich aber wenn ich beispielsweise den Monat Februar auswähle, dass auch die benötigten Zellen wieder leer sind. Und wenn ich irgendwann noch einmal auf den Monat Februar gehe, dass dann die eingetragenen Zellen wieder erscheinen. Ich hoffe um eure Hilfe.
Im Bereich der VBA kenne ich mich leider nicht aus..Blush

Beispiel als Anhang
Hallo Emre,

reicht Dir eventuell das normale Filtern? Ist nicht ganz so komfortabel, weil die einzelnen Tage angezeigt werden, aber wäre auch eine Variante ohne VBA
(11.02.2015, 04:48)schauan schrieb: [ -> ]Hallo Emre,

reicht Dir eventuell das normale Filtern? Ist nicht ganz so komfortabel, weil die einzelnen Tage angezeigt werden, aber wäre auch eine Variante ohne VBA

Hallo,

danke für deine Hilfe, aber könntest du etwas genauer erklären ?
Wenn es geht hätte ich gerne eine Möglichkeit das alles automatisch läuft..

Lg
Hallo Emre,

auf das Dropdown musst Du auch drücken und was auswählen, das geht nicht automatisch.

Gehe auf dem Batt Test1 oder Test2 in die Zelle "Datum". Dann gehe auf den Reiter "Daten". Dort ist das Symbol für Filtern, da klickst Du drauf. Du bekommst dadurch in der Zelle "Datum" eine kleine Schaltfläche mit einem Dreieck. Wenn Du da drauf klickst, bietet Dir Excel unter anderem eine Auswahlliste, wo Du die gewünschten Daten an- oder abwählen kannst. Zusätzlich hast Du über der Liste noch einen Menüpinkt "Datumsfilter", wo weitere Auswahlmöglichkeiten zur Verfügung stehen.
(12.02.2015, 17:45)schauan schrieb: [ -> ]Hallo Emre,

auf das Dropdown musst Du auch drücken und was auswählen, das geht nicht automatisch.

Gehe auf dem Batt Test1 oder Test2 in die Zelle "Datum". Dann gehe auf den Reiter "Daten". Dort ist das Symbol für Filtern, da klickst Du drauf. Du bekommst dadurch in der Zelle "Datum" eine kleine Schaltfläche mit einem Dreieck. Wenn Du da drauf klickst, bietet Dir Excel unter anderem eine Auswahlliste, wo Du die gewünschten Daten an- oder abwählen kannst. Zusätzlich hast Du über der Liste noch einen Menüpinkt "Datumsfilter", wo weitere Auswahlmöglichkeiten zur Verfügung stehen.

Guten Abend,

ich glaube leider das wir gerade nicht über das selbe sprechen, oder ich bin gerade einfach nur etwas verwirrt...
Wenn ich Beispielweise bei "Test1" die jeweilen Stunden eintrage die "Test1" gemacht habe und dann auf den Monat Februar gehe, stehen die Stunden dort ja immer noch eingetragen und ich müsse sie selber erst löschen und anschließend die Stunden für Februar eintragen. Diese Zellen sollen aber automatisch leer sein.
Denn das Problem ist wenn ich nun den Monat Februar ausfülle und anschließend auf den Monat Januar gehe übernimmt er die Stunden vom Februar in den Januar siehe Tabelle "Stundenerfassung".
Hallo Emre,

ja, das ging wohl daneben :30:
Ich dachte, es reicht, wenn Du den Monat "wegfilterst".
Dann werde ich mich mall dransetzen und eiin Makro basteln Exclamation
Hallo Emre,

Du kannst diesen code in das Modul DieseArbeitsmappe einfügen. Wie das Makro funktioniert, hab ich kommentiert. Das ist jetzt erst mal der Teil mit dem Leeren der Zellen. Jetzt wäre noch die Frage, wo denn die Daten sind, damit man sie wieder einfügen kann, wenn ein bereits verwendeter Monat nochmal gewählt wird. Ich nehme mal an, dass Du dafür auch noch ein Makro brauchst. In der bereitgestellten Musterdatei war keins.

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'Wenn die ersten 4 Zeichen des Blattes TEST sind
'und die geänderte Zelle C1, dann
If Left(Sh.Name, 4) = "TEST" And Target.Address = "$C$1" Then
  'Auf dem Blatt den Bereich C6:E36 leeren
  'Hinweis: ggf. Sicherheitsabfrage einabuen!
  Sh.Range("C6:E36").ClearContents
'Ende Wenn die ersten 4 Zeichen des Blattes TEST sind
'und die geänderte Zelle C1, dann
End If
End Sub
(13.02.2015, 20:42)schauan schrieb: [ -> ]Hallo Emre,

Du kannst diesen code in das Modul DieseArbeitsmappe einfügen. Wie das Makro funktioniert, hab ich kommentiert. Das ist jetzt erst mal der Teil mit dem Leeren der Zellen. Jetzt wäre noch die Frage, wo denn die Daten sind, damit man sie wieder einfügen kann, wenn ein bereits verwendeter Monat nochmal gewählt wird. Ich nehme mal an, dass Du dafür auch noch ein Makro brauchst. In der bereitgestellten Musterdatei war keins.

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'Wenn die ersten 4 Zeichen des Blattes TEST sind
'und die geänderte Zelle C1, dann
If Left(Sh.Name, 4) = "TEST" And Target.Address = "$C$1" Then
  'Auf dem Blatt den Bereich C6:E36 leeren
  'Hinweis: ggf. Sicherheitsabfrage einabuen!
  Sh.Range("C6:E36").ClearContents
'Ende Wenn die ersten 4 Zeichen des Blattes TEST sind
'und die geänderte Zelle C1, dann
End If
End Sub

Guten Morgen Schauan,

werde ihn sobald ich Zeit dafür habe ausprobieren, aber ob der nun funktioniert oder nicht danke ich dir trotzdem für deine Hilfe!!
Hättest du vielleicht eine Seite für mich um ein wenig meine VBA Kenntnisse zu verbessern ?
Hi Emre,

Zitat:Hättest du vielleicht eine Seite für mich um ein wenig meine VBA Kenntnisse zu verbessern ?

Hier! ;)

Im Ernst, es hilft meistens nur nach dem Problem googeln (z.B. hier) oder sich hier von den VBA-Spezis helfen lassen und zu versuchen, die Codes zu verstehen.

Das Farbige sind anklickbare Links!
(13.02.2015, 20:42)schauan schrieb: [ -> ]Hallo Emre,

Du kannst diesen code in das Modul DieseArbeitsmappe einfügen. Wie das Makro funktioniert, hab ich kommentiert. Das ist jetzt erst mal der Teil mit dem Leeren der Zellen. Jetzt wäre noch die Frage, wo denn die Daten sind, damit man sie wieder einfügen kann, wenn ein bereits verwendeter Monat nochmal gewählt wird. Ich nehme mal an, dass Du dafür auch noch ein Makro brauchst. In der bereitgestellten Musterdatei war keins.

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'Wenn die ersten 4 Zeichen des Blattes TEST sind
'und die geänderte Zelle C1, dann
If Left(Sh.Name, 4) = "TEST" And Target.Address = "$C$1" Then
  'Auf dem Blatt den Bereich C6:E36 leeren
  'Hinweis: ggf. Sicherheitsabfrage einabuen!
  Sh.Range("C6:E36").ClearContents
'Ende Wenn die ersten 4 Zeichen des Blattes TEST sind
'und die geänderte Zelle C1, dann
End If
End Sub

Hallo Schauan,

ich danke dir!! Es klappt super!
Seiten: 1 2 3