Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1708to1712
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
Inhaltsverzeichnis

Datum Fraglich

Datum Fraglich
09.09.2019 10:48:13
Klaus
Hallo zusammen,
mit diesem Code markiere ich einen Bereich Datum und es wird in einen anderen Blatt eingetragen.
Sub AbgerundetesRechteck1_Klicken()
Dim wks As Worksheet
Dim Zelle As Range
If Selection.Rows.Count > 1 Then Exit Sub
Set wks = Worksheets("Erfassungsbeleg")
'wks.Range("T10:V11").ClearContents '-- dies dazwischen evtl. die anderen Zellen dazu
wks.Range("Q19") = Cells(Selection.Row, 2) '--Name
'wks.Range("X46").NumberFormat = "dd/mm/yyyy;@"
wks.Range("U41").Value = Cells(18, Selection.Column).Value
'wks.Range("AM46").NumberFormat = "dd/mm/yyyy;@"
wks.Range("AK41").Value = Cells(18, Selection.Column + Selection.Columns.Count - 1).Value
wks.Range("J34") = Selection.Cells(1, 1).Value
'wks.Range("X46").Value = Cells(5, Selection.Column).Value
'wks.Range("AM46").Value = Cells(5, Selection.Column + Selection.Columns.Count - 1).Value
'wks.Range("U22") = Cells(Selection.Row, 1) '--ID Nummer wird per Formel ersetzt
'wks.Range("S11") = Cells(Selection.Row, 39) '--Resturlaub aus SpalteAM
'wks.Range("G4") = Worksheets("Zusammenfassung").Cells(Selection.Row - 8, 4) '-- _
Resturlaub
'wks.Range("FL17") = Date '--jetzige Datum wird per formel
For Each Zelle In Selection
If Zelle.Font.Color = vbRed Then
MsgBox "Urlaub schon gedruckt", vbInformation, "Hinweis"
Exit Sub
End If
Select Case UCase(Zelle)
Case "U"
If wks.Range("U41") = "" Then
wks.Range("U41") = Format(Cells(18, Zelle.Column), "dd.MM.YYYY")
End If
wks.Range("AK41") = Format(Cells(18, Zelle.Column), "dd.MM.YYYY")
Case "F"
If wks.Range("U41") = "" Then
wks.Range("U41") = Format(Cells(18, Zelle.Column), "dd.MM.YYYY")
End If
wks.Range("AK41") = Format(Cells(18, Zelle.Column), "dd.MM.YYYY")
Case "S"
If wks.Range("U41") = "" Then
wks.Range("U41") = Format(Cells(18, Zelle.Column), "dd.MM.YYYY")
End If
wks.Range("AK41") = Format(Cells(18, Zelle.Column), "dd.MM.YYYY")
End Select
Next
Selection.Font.Color = vbRed
Sheets("Erfassungsbeleg").Range("o132:V133") = Application.UserName
Set wks = Nothing
Sheets("Erfassungsbeleg").Select
Range("A2").Select
End Sub
Markierter Bereich 06.01. bis 10.01.
Was ich nicht verstehe das dann auf einmal statt 00.01.1900 und in AK41 30.12.1899
drinsteht. Alle Formate passen.
In der anderen Datei von der Abteilung geht es ohne Probleme. Den Code haben wir einfach reinkopiert aber geht trotzdem nicht.
Weiß jemand warum
Danke

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

Betreff
Datum
Anwender
Anzeige
AW: Datum Fraglich
09.09.2019 11:14:02
Sigi
Hallo Klaus,
du hast da eine Zuweisung:
" wks.Range("AK41") = Format(Cells(18, Zelle.Column), "dd.MM.YYYY") "
Da vermute ich, dass der Inhalt (Wert) von "Cells(18, Zelle.Column)" gleich null (0) ist. Denn in VBA hat das Datum 31.12.1899 den Wert 0.
Also überprüfe den Wert "Cells(18, Zelle.Column)"!
Grüße
Sigi
AW: Datum Fraglich
09.09.2019 11:17:35
Sigi
Berichtigung:
Der 30.12.1899 hat in VBA den Wert 0. Der 31.12.1899 hat den Wert 1.
Sigi
AW: Datum Fraglich
09.09.2019 11:53:12
Klaus
Ah jetzt habe ich den Fehler gefunden.
SUUUPER hast mir mega geholfen. Danke

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige