Zahlen aus Togglebutton in Tabelle übertragen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Zahlen aus Togglebutton in Tabelle übertragen
von: Georg
Geschrieben am: 07.08.2015 11:24:26

Hallo,
ich habe eine Exceltabelle erstellt mit Togglebuttons bzw. Umschaltflächen. Dabei gibt es 6 Buttons die bei Klick darauf hochzählen. Diese Zahlen sollen dann in eine seperate Tabelle eingefügt werden, dabei hat jeder Tag des Monats eine Zeile.
Nun möchte ich, dass er die Zahlen von den Buttons automatisch in den jeweiligen Tag einträgt, und wenn er keine Daten hat (weil Tabelle an dem Tag nicht benutzt)eine 0 einträgt. Also als Beispiel: Ich habe am 01.08.2015 5 x auf den 1. Button, 7x auf den 2. Button usw. geklickt, nun soll er die Zahlen in der Tabelle beim 01.08. eintragen.
Ich habe es mit einer WENN-Formel in Verbindung mit einem =HEUTE()Datumsfeld probiert, aber wenn das Datumsfeld sich ändern, setzt er die Zahlen einfach in die Zeile des aktuellen Datums ein und behält sie nicht in der alten Zeile.
Wie kann ich also die einmal eingetragenen Zahlen fixieren, sodass Sie nach Ablauf des Tages nicht mehr verändert werden können?
Im Anhang findet Ihr die Tabelle.
https://www.herber.de/bbs/user/99389.xlsm
Vielen Dank schon mal für die hoffentlich hilfreichen Antworten. :-p :-)

Bild

Betrifft: AW: Zahlen aus Togglebutton in Tabelle übertragen
von: hary
Geschrieben am: 07.08.2015 14:21:04
Moin
Geht mit VBA. Die Frage ist der Codestart. Wird die Mappe morgens geoeffnet und abends geschlossen? Dann koennte das Workbook Close Ereigniss genutzt werden.
Hier als Makro, ueberschreibt beim starten die Werte.

Sub Tagesende()
Dim a As Variant
Dim Ziel As String
Dim Quelle As Worksheet
Set Quelle = Worksheets("Vorlage")
 Ziel = Format(Date, "MMMM 'YY")
  If SheetExist(Ziel) Then
   a = Application.Match(CLng(Date), Worksheets(Ziel).Columns(3), 0)
      If IsNumeric(a) Then
       Worksheets(Ziel).Cells(a, 4).Resize(1, 4).Value = Quelle.Range("F4:I4").Value
       Worksheets(Ziel).Cells(a, 8).Resize(1, 3).Value = Quelle.Range("G13:I13").Value
       Worksheets(Ziel).Cells(a, 4).Resize(1, 7).SpecialCells(xlBlanks) = 0
      End If
 End If
End Sub
Private Function SheetExist(ByVal sheetName As String, Optional Wb As Workbook) As Boolean
  Dim wks As Worksheet
  On Error GoTo ERRORHANDLER
  If Wb Is Nothing Then Set Wb = ThisWorkbook
  For Each wks In Wb.Worksheets
    If LCase(wks.Name) = LCase(sheetName) Then SheetExist = True: Exit Function
  Next
ERRORHANDLER:
  SheetExist = False
End Function

gruss hary

Bild

Betrifft: AW: Zahlen aus Togglebutton in Tabelle übertragen
von: Georg
Geschrieben am: 08.08.2015 11:37:20
Hallo Harry,
vielen Dank erstmal für die schnelle Antwort.
Die Tabelle wird nicht täglich geöffnet, sondern eher 2-3 mal die Woche an unterschiedlichen Tagen und zu unterschiedlichen Tageszeiten. Kann man das auch in dem VBA-Skript unterbringen?
Sonnige Grüße...

Bild

Betrifft: AW: Frage
von: hary
Geschrieben am: 08.08.2015 11:49:24
Moin Georg
Ok,aber sie wird nur einmal am Tag geoeffnet/geschlossen?
Und wird das Blatt immer mit dem Button zurueckgesetzt?
gruss hary

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zahlen aus Togglebutton in Tabelle übertragen"