Clever-Excel-Forum

Normale Version: Daten max 1x täglich speichern.
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,
ich wende mich an euch mit der Bitte um einen Denkanstoß/Tipp.
Ich habe in einer ExcelDatei auf einem Registerblatt eine Schaltfläche, die auf Knopfdruck die Daten (nicht alle, aber einige) aus diesem Registerblatt in ein anderes Registerblatt dieser Datei untereinander weg speichert. Dabei speichert die Datei in Spalte B das jeweilige Datum wann gespeichert wurde. Die Information erhalte ich aus der Zelle C11 des ersten Blattes.
Ich möchte jetzt verhindern, dass willkürlich mehrmals am Tag die Daten gespeichert werden, sondern max. 1x am Tag. Sollte jemand versuchen die Daten ein 2tes Mal zu speichern soll eine Fehlermeldung in einer Msgbox erscheinen.
Wie kann ich das am besten Umsetzen?
Im Voraus herzlichen Dank
Frank
Hallo Frank,

so in der Art:

Sub DatenSpeichern()
 If Tabelle1.Range("C11").Value = Date Then
   MsgBox "Daten wurden heute schon gespeichert!", vbInformation
 Else
   Tabelle1.Range("C11").Value = Date
   '...
 End If
End Sub

Gruß Uwe
(11.01.2016, 13:27)Kuwer schrieb: [ -> ]Hallo Frank,

so in der Art:

Sub DatenSpeichern()
 If Tabelle1.Range("C11").Value = Date Then
   MsgBox "Daten wurden heute schon gespeichert!", vbInformation
 Else
   Tabelle1.Range("C11").Value = Date
   '...
 End If
End Sub

Gruß Uwe


Hallo Uwe
Danke für deine schnelle Antwort !
Aber ich glaube ich habe mich da vielleicht falsch ausgedrückt, denn so wie du den Code schreibst, bzw. ich ihn lese, überprüft er Zelle C11 von Tabelle1 und wenn was drin steht gibt er die Fehlermeldung aus, wenn nichts drin steht schreibt er das aktuelle Datum rein, oder ?

Aber bei mir steht in C11 immer das aktuelle Datum (=heute()) drin.
Durch Betätigung der Schaltfläche wird das heutige Datum und wichtige Daten von Heute in Tabelle2 gespeichert. Immer in die erste freie Zeile, und in der Spalte (Spalte B) das Datum.
Meiner Vorstellung nach muss Excel jetzt die gesamte Spalte durchsuchen, ob das Datum aus C11 da schon drin steht. Wenn ja, Fehlermeldung ausgeben, wenn Nein Daten speichern.

Grüße
Frank
Hallo Frank,

dann denke Dir irgendeine andere Zelle, z.B. die Zelle unter der Schaltfläche, für das Zwischenspeichern des letzten Sicherungsdatums aus. Wink

Gruß Uwe
Hallo,

letzten Eintrag in Tabelle 2, Spalte B überprüfen, ob das Datum dem aktuellen entspricht.


Code:
If Tabelle2.cells(rows.count, 2).end(xlup)=date then....
Hallo,

oder mit Zählenwenn überprüfen, z.B so:


Code:
Sub Test()
 If Application.WorksheetFunction.CountIf(Sheets("Tabelle1").Columns("B"), Date) Then  'hier Blattnamen in die übertragen wird anpassen
   MsgBox "Daten wurden heute schon gespeichert!"
 Else
   '...hier bisherigen Code zum übertragen
 End If
End Sub
(11.01.2016, 16:33)atilla schrieb: [ -> ]Hallo,

oder mit Zählenwenn überprüfen, z.B so:


Code:
Sub Test()
 If Application.WorksheetFunction.CountIf(Sheets("Tabelle1").Columns("B"), Date) Then  'hier Blattnamen in die übertragen wird anpassen
   MsgBox "Daten wurden heute schon gespeichert!"
 Else
   '...hier bisherigen Code zum übertragen
 End If
End Sub


Hallo zusammen,
danke für eure Hilfe. Ihr habt mir sehr geholfen !!

Grüße
Frank