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..
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
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
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..
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.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
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".
13.02.2015, 21:42 (Dieser Beitrag wurde zuletzt bearbeitet: 13.02.2015, 22:21 von schauan.)
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
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28 • 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 ?
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!
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
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