Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1440to1444
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Zahlen auslesen und in Datumsfeld behalten
17.08.2015 13:00:36
Georg
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? Die Tabelle wird nicht täglich geöffnet bzw. auch an unterschiedlichen Wochentagen geöffnet, wird aber über den Zurücksetzen-Button immer zurück gesetzt und kann dann wieder neu benutzt werden.
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 :-)

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahlen auslesen und in Datumsfeld behalten
17.08.2015 13:28:45
Matthias
Hallo Georg,
dein gewünschtes "fixieren" lässt sich per Hand realisieren, indem du in die Formel der Zelle klickst und "F9" drückst. Dann wird die Formel durch den errechneten Wert der Formel ersetzt.
Ansonsten gäbe es die Möglichkeit per Makro mit dem Schließen der Mappe für die heutige Zeile das Drücken von "F9" automatisch ausführen zu lassen.
Weiterhin könnte ein Makro beim Klick auf die Buttons den Zellenwert hochzählen, dh. deine Formel wäre im Makro hinterlegt und nicht mehr in der Zelle selbst.

AW: Zahlen auslesen und in Datumsfeld behalten
17.08.2015 13:37:27
Matthias
Ach, entschuldige bitte, da hab ich dir glatt den Nachteil von Variante 2 unterschlagen: Nachdem du die Datei das erste Mal am Tag geschlossen hast, wäre deine Formel natürlich futsch. Solltest du am selben Tag nochmal klicken müssen, wird das nicht mehr mitgezählt.
Man müsste daher eher beim Öffnen des Dokumentes die Klicks von gestern in das jeweilige Feld eintragen lassen, das ganze gestaltet sich etwas komplizierter. Variante 1 und 3 sind daher wesentlich einfacher.

Anzeige
AW: Zahlen auslesen und in Datumsfeld behalten
17.08.2015 15:35:15
Matthias
Und nochmal ich...,
Hier meine Variante wie ich das gelöst hätte:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
' zuletzt geöffnetes Datum eintragen
P_zulGeoeffnet.Value = Date
End Sub
Public P_zulGeoeffnet As Range
Private Sub Workbook_Open()
Dim Bereich As Range
Dim Monat As String
Dim TBWerte As Worksheet
Application.ScreenUpdating = False
' -- Bezüge --
Set P_zulGeoeffnet = Tabelle9.Range("C12")  ' Datum des letzten Öffnens
Set TBWerte = Tabelle1                      ' TB mit den gezählten Klicks
If P_zulGeoeffnet.Value = Date Then
'MsgBox "Heute bereits geöffnet"
' keine Aktionen nötig
Else: 'MsgBox "Heute noch nicht geöffnet"
' Zeile vom letzten Öffnen festsetzen
' Auswahl Tabellenblatt Monat
x = Month(P_zulGeoeffnet.Value)
Select Case x
Case 1: Monat = "Januar"
Case 2: Monat = "Februar"
Case 3: Monat = "März"
Case 4: Monat = "April"
Case 5: Monat = "Mai"
Case 6: Monat = "Juni"
Case 7: Monat = "Juli"
Case 8: Monat = "August"
Case 9: Monat = "September"
Case 10: Monat = "Oktober"
Case 11: Monat = "November"
Case 12: Monat = "Dezember"
End Select
For Each Worksheet In ActiveWorkbook.Sheets
If Worksheet.Name Like (Monat & "*") Then
Worksheet.Select
End If
Next Worksheet
' Suche Datum vom letzten Öffnen
Set Bereich = Range("C:C").Find(What:=P_zulGeoeffnet.Value, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
' Übertragen der Werte
For x = 4 To 7 ' Spalte D-G
Cells(Bereich.Row, x).Value = TBWerte.Cells(4, x + 2).Value
Next x
For x = 8 To 10 ' Spalte H-J
Cells(Bereich.Row, x).Value = TBWerte.Cells(13, x - 1).Value
Next x
' Zähler nullen
TBWerte.Select
Range("F4") = 0
Range("G4") = 0
Range("H4") = 0
Range("G13") = 0
Range("H13") = 0
'MsgBox "Werte festgesetzt."
End If
End Sub
mfg Matthias
Anzeige

327 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige