Supportnet / Forum / Tabellenkalkulation
Datum -14 Tage
Frage
Hallo, wie hier zu sehen ist [url]www.computergate.de/excel.JPG [/url] möchte ich das Datum + Text eingeben und unten soll dann das Datum -14 Tagen + Text wieder ausgegeben werden.
Der Text bleibt eigendlich immer der gleiche, nur das Datum soll geändert werden.
Gibt es da eine möglichkeit???
Vielen dank für jede Hilfe!!!
Antwort 1 von cmkatz
Hallo,
so wie das aussieht, soll es wohl eine Zahlungsfrst darstellen. Bist du dir da sicher, dass es "-" 14 Tage heißen muß und nicht "+" 14 Tage??
Gruß
cmkatz
so wie das aussieht, soll es wohl eine Zahlungsfrst darstellen. Bist du dir da sicher, dass es "-" 14 Tage heißen muß und nicht "+" 14 Tage??
Gruß
cmkatz
Antwort 2 von cmkatz
Hallo nochmal,
am einfachsten zu bewerkstelligen ist das mit einem VBA-Code:
Dieser Code ist folgendermaßen in die Tabelle zu integrieren:
Unter
Extras - Makro - Visual Basic Editor
den VB-Editor öffnen.
Doppelklick auf "Tabelle1(Tabelle1)", dann dort, wo "Allgemein" steht auf "Worksheet" wechseln und obige Zeilen per Copy&Paste einfügen.
Natürlich mußt du noch die Zellen anpassen:
generell:
Cells(Reihe, Spalte) -> Cells(3,1) bedeutet dann z.B. die Zelle A3
Auch der entsprechende Text ist einzufügen. So, jedes Mal, wenn du jetzt in dem Tabellenblatt Änderungen machst, wird vom Datum in Zelle B2 (zumindest in meinem Beispiel) 14 Tage abgezogen und in der Zelle A3 mit dem "Text" ausgegeben.
Wenn du 14 Tage addieren mußt, die Zeile
entsprechend ändern:
So, ich hoffe, das war verständlich ausgedrückt.
Gruß
cmkatz
am einfachsten zu bewerkstelligen ist das mit einem VBA-Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Cells(3, 1).Select
Selection.Value = "Text " & Cells(1, 2) - 14 & " Text"
End Sub
Dieser Code ist folgendermaßen in die Tabelle zu integrieren:
Unter
Extras - Makro - Visual Basic Editor
den VB-Editor öffnen.
Doppelklick auf "Tabelle1(Tabelle1)", dann dort, wo "Allgemein" steht auf "Worksheet" wechseln und obige Zeilen per Copy&Paste einfügen.
Natürlich mußt du noch die Zellen anpassen:
generell:
Cells(Reihe, Spalte) -> Cells(3,1) bedeutet dann z.B. die Zelle A3
Auch der entsprechende Text ist einzufügen. So, jedes Mal, wenn du jetzt in dem Tabellenblatt Änderungen machst, wird vom Datum in Zelle B2 (zumindest in meinem Beispiel) 14 Tage abgezogen und in der Zelle A3 mit dem "Text" ausgegeben.
Wenn du 14 Tage addieren mußt, die Zeile
Selection.Value = "Text " & Cells(1, 2) - 14 & " Text"
entsprechend ändern:
Selection.Value = "Text " & Cells(1, 2) + 14 & " Text"
So, ich hoffe, das war verständlich ausgedrückt.
Gruß
cmkatz
Antwort 3 von Blade2006
Das funktioniert ja wie Sahne!!!
habe da noch 2 kleinigkeiten... ;-)
Kann man bei dem Feld "Cells(3, 1).Select " ein Eingabefeld/Maske einrichten?
Das ganze soll nämlich so aussehen:
"Die Veranstalung findet statt am TT.MM.JJJJ"
also das Datum sollte wenn möglich in dem Text mit reingepackt werden (wie hier Selection.Value = "Text " & Cells(1, 2) - 14 & " Text" ) am besten wäre wie gesagt eine Maske oder sowas in die nur das Datum eingegeben wird. Ich mache das ganze für einen e.V. also muss es möglichst simple sein.....:-)
Und noch eine Frage: Ist es möglich dass wenn man auf Speichern unter... klickt, als Dateiname automatisch die Rechnungs. Nr. steht bzw. der Inhalt einer Zelle???
Und nochmal herzlichen dank für die schnelleund tolle Hilfe!!!
habe da noch 2 kleinigkeiten... ;-)
Kann man bei dem Feld "Cells(3, 1).Select " ein Eingabefeld/Maske einrichten?
Das ganze soll nämlich so aussehen:
"Die Veranstalung findet statt am TT.MM.JJJJ"
also das Datum sollte wenn möglich in dem Text mit reingepackt werden (wie hier Selection.Value = "Text " & Cells(1, 2) - 14 & " Text" ) am besten wäre wie gesagt eine Maske oder sowas in die nur das Datum eingegeben wird. Ich mache das ganze für einen e.V. also muss es möglichst simple sein.....:-)
Und noch eine Frage: Ist es möglich dass wenn man auf Speichern unter... klickt, als Dateiname automatisch die Rechnungs. Nr. steht bzw. der Inhalt einer Zelle???
Und nochmal herzlichen dank für die schnelleund tolle Hilfe!!!
Antwort 4 von cmkatz
Aalso,
zu deinem ersten Problemchen:
hier ist es am Besten, du benutzt zur Datumseingabe eine sog. "Inputbox". Dazu baust auf dein Tabellenblatt einen Button (Befehlsschaltfläche) per "Steuerelement - Toolbox" und beschriftest ihn mit z.B. "Termineingabe".
Jetzt gehst du wieder in den VBA-Editor und wählst statt Worksheet diesmal "CommandButton1" aus und schreibst folgenden Code rein:
zu deinem zweiten Problemchen:
Auch hier würde ich zu einem Button raten, den du aber nun mit "Speichern unter..." beschriftest.
Vorgehnsweise wie oben, "CommandButton2" auswählen und weist ihm folgenden Code zu:
Hoffe, auch hier weiter geholfen zu haben.
Gruß
cmkatz
zu deinem ersten Problemchen:
hier ist es am Besten, du benutzt zur Datumseingabe eine sog. "Inputbox". Dazu baust auf dein Tabellenblatt einen Button (Befehlsschaltfläche) per "Steuerelement - Toolbox" und beschriftest ihn mit z.B. "Termineingabe".
Jetzt gehst du wieder in den VBA-Editor und wählst statt Worksheet diesmal "CommandButton1" aus und schreibst folgenden Code rein:
Private Sub CommandButton1_Click()
Dim response As String
response = InputBox("Bitte geben Sie das Datum ein:", "Veranstaltungstermin")
If response = "" Then
Call MsgBox("Bitte geben Sie ein gültiges Datum ein.")
Else
Cells(3, 1).Value = "Text " & response & " Text"
End If
End Sub
zu deinem zweiten Problemchen:
Auch hier würde ich zu einem Button raten, den du aber nun mit "Speichern unter..." beschriftest.
Vorgehnsweise wie oben, "CommandButton2" auswählen und weist ihm folgenden Code zu:
Private Sub CommandButton2_Click()
DatName = Cells(1, 1).Value
If Len(DatName) = 0 Then
MsgBox ("Ungültiger Dateiname: Die angegebene Zelle darf nicht leer sein!")
Else
ActiveWorkbook.SaveAs Filename:=DatName & ".xls"
End If
End Sub
Hoffe, auch hier weiter geholfen zu haben.
Gruß
cmkatz
Antwort 5 von cmkatz
Nachtrag:
bei der "Speichern unter..."-Geschichte wird jetzt automatisch ins Standardverzeichnis gespeichert.
Man kann es durchaus so gestalten, dass sich dei Dialogbox öffnet, in der man den Ordner auswählen kann, dies bedarf aber weiterer Einstellungen und Codezeilen.
Wenn du möchtest, kann ich dir da etwas weiterhelfen, aber nicht mehr heut. Ich hau mich nämlich jetzt in die Falle. ;-)
Servus
cmkatz
bei der "Speichern unter..."-Geschichte wird jetzt automatisch ins Standardverzeichnis gespeichert.
Man kann es durchaus so gestalten, dass sich dei Dialogbox öffnet, in der man den Ordner auswählen kann, dies bedarf aber weiterer Einstellungen und Codezeilen.
Wenn du möchtest, kann ich dir da etwas weiterhelfen, aber nicht mehr heut. Ich hau mich nämlich jetzt in die Falle. ;-)
Servus
cmkatz
Antwort 6 von cmkatz
Ok,
nochmal ich
nocheinmal zu deinem Speichern-Problem:
dem CommandButton2 weist du folgenden 3-Zeiler zu:
Ging wohl doch einfacher und kürzer als ich gedacht habe.
Wie gesagt, Cells() wieder einfach anpassen...
Guten Abend
cmkatz
nochmal ich
nocheinmal zu deinem Speichern-Problem:
dem CommandButton2 weist du folgenden 3-Zeiler zu:
Private Sub CommandButton2_Click()
Dim Filename As String
Application.GetSaveAsFilename(Cells(1, 1).Value & ".xls", "Micrsoft Excel-Dateien (*.xls),*.xls")
End Sub
Ging wohl doch einfacher und kürzer als ich gedacht habe.
Wie gesagt, Cells() wieder einfach anpassen...
Guten Abend
cmkatz
Antwort 7 von cmkatz
Edit:
"Micrsoft" soll natürlich "Microsoft" heißen...
Wen´s interessiert:
den 3-Zeiler habe ich mir von hier geklaut. *sorry*
Gruß
cmkatz
"Micrsoft" soll natürlich "Microsoft" heißen...
Wen´s interessiert:
den 3-Zeiler habe ich mir von hier geklaut. *sorry*
Gruß
cmkatz
Antwort 8 von Blade2006
Hallo, die einzelnen Funktionen laufen, wie kann ich jetzt beide Funktionen nutzen?
Einmal Datum nach klick auf Button eingbenen
dann Ausgabe des Datums + Text
und ausgabe des Datums -14 Tage + Text
Hier ein beispiel: www.computergate.de/datum.JPG
Einmal Datum nach klick auf Button eingbenen
dann Ausgabe des Datums + Text
und ausgabe des Datums -14 Tage + Text
Hier ein beispiel: www.computergate.de/datum.JPG
Antwort 9 von cmkatz
Hallo,
das läuft dann alles über CommandButton1:
Wie gesagt, Zellen anpassen.
das läuft dann alles über CommandButton1:
Private Sub CommandButton1_Click()
Dim response As Date
response = InputBox("Bitte geben Sie das Datum ein:", "Veranstaltungstermin")
If response = 0 Then
Call MsgBox("Bitte geben Sie ein gültiges Datum ein.")
Else
Cells(3, 1).Value = "Text " & response & " Text"
Cells(2, 1).Value = "Text " & response + 14 & " Text"
End If
End Sub
Wie gesagt, Zellen anpassen.
Antwort 10 von cmkatz
sorry, "-" 14 sollte es heißen...