Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Datum per Button in Zeile einfügen aber mit relat

Datum per Button in Zeile einfügen aber mit relat
03.08.2016 17:11:14
Bralwand
Hallo Zusammen
Ich möchte in einer Tabelle das aktuelle Datum jeweils durch Klick auf einen Button einfügen lassen, jeweils auf der gleichen Zeile wo sich auch der Button befindet. Wenn ich auf den Button in in der Zelle A4 klicke soll das aktuelle Datum in der Zelle N4 eingefügt werden. Wenn ich auf den Button in der Zelle A5 klicke soll das aktuelle Datum in der Zelle N5 eingefügt werden usw.
Bisher habe ich folgendes Makro den Buttons zugewiesen.
Sub Datumeinfügen()
ThisWorkbook.Sheets("Tabelle1").Range("N4").Value = Date
End Sub
Damit erscheint das aktuelle Datum aber jeweils in der Zelle N4.
Ich habe es dann noch damit versucht:
Sub Datumeinfügen2()
ActiveCell.Offset(0, 13).Range("A1").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
End Sub

Damit hängt aber die Zielzelle, also dort wo das Datum eingetragen wird, von der gerade aktivierten Zelle ab. Und ich möchte aber, dass die Zielzelle von der Position des gedrückten Buttons abhängt.
Weiss jemand eine Lösung? Habe leider, wie man wohl merkt, keine Ahnung von VBA.
Tausend Dank und beste Grüsse,
Fabian
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum per Button in Zeile einfügen aber mit r
03.08.2016 17:42:26
Daniel
Hi
bei einem Formularsteuerelement mit dieser Programmzeile im zugewiesenen Code:
ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(0, 13).FormulaR1C1 = "=today()"

bzw bei =Today() wird sich das Datum jeden Tag ändern, weils ja die Formel =Heute() ist und das ich immer ändert.
wenn du das Datum fix bleiben soll mit dem Tag, an dem der button gedrückt wurde, dann
ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(0, 13).Value = Date
Gruß Daniel
Anzeige
AW: Datum per Button in Zeile einfügen aber mit r
03.08.2016 18:02:42
Bralwand
Hallo Daniel,
super, vielen tausend Dank!
Das klappt nun einwandfrei und an die Sache mit "Heute()" hatte ich auch gar nicht gedacht.
LG
AW: Datum per Button in Zeile einfügen aber mit r
04.08.2016 16:55:18
Bralwand
Hallo Zusammen,
hier nochmal ich ;)
Ich habe jetzt Buttons eingefügt wie von Daniel vorgeschlagen:
ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(0, 13).Value = Date
Das funktioniert auch sehr gut. Aber wenn ich jetzt ein File habe mit 23 Zeilen, dann finde ich 23 Buttons nicht so elegant. Kann man das stattdessen mit Checkboxen lösen? Bis anhin habe ich pro Zeile einen Button "Erledigt", der bewirkt dass auf der Zeile wo sich der Button befindet in der Spalte N das Datum eingefügt wird. Jetzt möcht ich aber irgendwo oben in der Tabelle nur noch einen einzigen Button "Erledigt" haben und stattdessen pro Zeile eine Checkbox. Aktiviere ich nun die Checkbox auf der Zeile B5 und drücke dann auf den Button "Erledigt", soll relativ zur Checkbox auf der gleichen Zeile aber in der Spalte N5 das Datum eingefügt werden.
Wie könnte ich das lösen?
@Lukas: Danke für den Hinweis. Das wusste ich nicht.
Anzeige
AW: Datum per Button in Zeile einfügen aber mit relat
04.08.2016 04:22:03
Lukkeeee
Hallo Bralwand,
warum machst du denn nicht eine Double-Click Action?
Waere doch ziemlich simpel wenn du einfach auf die Zelle A1 doppelt klickst und dann das Datum in N1 eingefuegt wird.
Dann sparst du dir sogar einen Button.
Nur mal so ein Gedanke von mir.
Gruss Lukas
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Datum per Button in Zeile einfügen


Schritt-für-Schritt-Anleitung

Um das aktuelle Datum in einer Excel-Tabelle per Button in der entsprechenden Zeile einzufügen, kannst du die folgenden Schritte ausführen:

  1. Button einfügen:

    • Gehe zu EntwicklertoolsEinfügen → wähle unter Formularsteuerelemente den Button.
    • Zeichne den Button auf deinem Arbeitsblatt.
  2. Makro zuweisen:

    • Rechtsklicke auf den Button und wähle Makro zuweisen.
    • Erstelle ein neues Makro mit dem folgenden VBA-Code:
    Sub Datumeinfügen()
       ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(0, 13).Value = Date
    End Sub
  3. Testen:

    • Klicke auf den Button, um das aktuelle Datum in der entsprechenden Zelle der Spalte N einzufügen.

Dieser Code nutzt die TopLeftCell-Eigenschaft, um die Position des Buttons zu bestimmen und das Datum in die korrekte Zelle einzufügen.


Häufige Fehler und Lösungen

  • Datum wird in die falsche Zelle eingefügt:

    • Stelle sicher, dass der Button in der richtigen Zeile platziert ist. Der Code verwendet die Position des Buttons, um das Datum in die entsprechende Zelle einzufügen.
  • Datum ändert sich täglich:

    • Wenn du das Datum fixieren möchtest, benutze die folgende Zeile im VBA-Code:
    ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(0, 13).Value = Date

    Dies speichert das Datum statisch in der Zelle.


Alternative Methoden

Falls du keine Buttons verwenden möchtest, kannst du auch andere Methoden ausprobieren:

  • Checkboxen:

    • Füge Checkboxen pro Zeile ein und nutze einen einzigen Button „Erledigt“, um das Datum relativ zur aktiven Checkbox einzufügen.
    • Beispielcode:
    Sub CheckboxErledigt()
       Dim cell As Range
       For Each cell In ActiveSheet.CheckBoxes
           If cell.Value = 1 Then ' Checkbox ist aktiviert
               cell.TopLeftCell.Offset(0, 13).Value = Date
           End If
       Next cell
    End Sub
  • Doppelklick-Aktion:

    • Du kannst einen Doppelklick auf die Zelle verwenden, um das Datum einzufügen, ohne einen Button zu benötigen. Füge folgenden Code im Arbeitsblatt-Modul ein:
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
       If Not Intersect(Target, Me.Range("A:A")) Is Nothing Then
           Target.Offset(0, 13).Value = Date
           Cancel = True
       End If
    End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele für das Einfügen des Datums:

  1. Einzelner Button für mehrere Zeilen:

    • Platziere einen Button in Zeile 1 und benutze den oben genannten VBA-Code, um das Datum in der gleichen Zeile und in Spalte N einzufügen.
  2. Checkboxen für Aufgaben:

    • Verwende Checkboxen in Spalte B und einen Button „Erledigt“ in Zelle A1. Der VBA-Code fügt das Datum in die entsprechende Zelle in Spalte N ein, wenn die Checkbox aktiviert ist.

Tipps für Profis

  • Nutze Formularsteuerelemente anstelle von ActiveX-Steuerelementen, da sie einfacher zu handhaben sind und weniger Fehler verursachen.
  • Experimentiere mit der Bedingten Formatierung, um Zellen hervorzuheben, in denen das Datum bereits eingegeben wurde.
  • Erstelle eine Schaltfläche mit der Funktion, die den Status von Aufgaben verfolgt, und füge dabei die Funktionalität hinzu, das Datum automatisch einzufügen.

FAQ: Häufige Fragen

1. Wie kann ich das Datum in ein bestimmtes Format umwandeln? Du kannst die Formatierung der Zelle ändern, indem du die NumberFormat-Eigenschaft im VBA-Code verwendest:

ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(0, 13).Value = Format(Date, "dd.mm.yyyy")

2. Was mache ich, wenn der Button nicht funktioniert? Überprüfe, ob das Makro korrekt zugewiesen ist und dass der Button nicht in einer gesperrten Zelle platziert wurde. Stelle sicher, dass die Entwicklertools aktiviert sind.

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