Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1244to1248
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

Spalte umwandeln nach Cdate

Spalte umwandeln nach Cdate
Volker
Hallo zusammmen,
Ich möchte die Spalte B welche das laufende Datum des Jahres enthält nachträglich in Cdate umwandeln.
Ich fülle Die Spalte mittels:
Option Explicit
Public Sub Kalender2()
Dim WkSh_K   As Worksheet
Dim WkSh_F   As Worksheet
Dim aktJahr  As Integer
Dim dDatum   As Date
Dim lZeile   As Long
Dim lFtage   As Long
Application.ScreenUpdating = False
Set WkSh_K = Worksheets("Stundennachweis")   ' Kalenderblatt
Set WkSh_F = Worksheets("Tabelle2")   ' Feiertagsblatt
If IsNumeric(WkSh_K.Range("A1").Value) And _
Len(WkSh_K.Range("A1").Value) = 4 Then
aktJahr = CInt(WkSh_K.Range("A1").Value)
dDatum = "01.01." & aktJahr
Else
MsgBox "In Zelle A1 steht keine gültige Jahreszahl - Abbruch.", _
48, "   Hinweis für " & Application.UserName
Exit Sub
End If
lZeile = 5
Do
WkSh_K.Range("B" & lZeile).NumberFormat = "dd.mm.yyyy"
WkSh_K.Range("B" & lZeile).Value = dDatum
For lFtage = 1 To WkSh_F.Range("A65536").End(xlUp).Row
'If dDatum = CDate(WkSh_F.Range("B" & lFtage).Value) Then
' WkSh_K.Range("B" & lZeile).Interior.ColorIndex = 3
Exit For
'End If
Next lFtage
lZeile = lZeile + IIf(Month(dDatum) = Month(dDatum + 1), 1, 2)
dDatum = dDatum + 1
Loop Until Year(dDatum) > aktJahr
End Sub
Nach der übergabe, muss ich erst durch die benutzerdefinierte Formatierung TT.MM.JJJJ für die Spalte eingeben, damit ich mit der Tabelle arbeiten kann.
Ich möchte erreichen, das das Datum aus einer Userform Textbox in der Spalte B gefunden wird.
Wie gesagt nach "händischer" Umformatierung funktioniert es....
Danke und Gruß
Volker

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Spalte umwandeln nach Cdate
06.01.2012 13:42:00
Rudi
Hallo,
Ich möchte erreichen, das das Datum aus einer Userform Textbox in der Spalte B gefunden wird.
Dann wandle das doch in ein Datum um. In der Tabelle stehen Datumswerte.
CDate(Textbox1)
Gruß
Rudi
AW: Spalte umwandeln nach Cdate
06.01.2012 13:52:02
Volker
Hallo Rudi,
danke für Deine Antwort.
Ich habe mich anscheinend nicht klar genug ausgedrückt :-((
Das Datum aus der Textbox wird ja gefunden, aber erst nachdem ich die Spalte per Zellformat- benutzerdefiniert- TT.MM.JJJJ formatiert habe.
Danke und Gruß
Volker
AW: Spalte umwandeln nach Cdate
06.01.2012 14:04:32
Rudi
Hallo,
aber erst nachdem ich die Spalte per Zellformat- benutzerdefiniert- TT.MM.JJJJ formatiert habe.
aber das machst du doch hier schon:
          WkSh_K.Range("B" & lZeile).NumberFormat = "dd.mm.yyyy"
Gruß
Rudi
Anzeige
AW: dDatum = cdate("01.01." & akJahr)
06.01.2012 13:46:22
JoWe
AW: dDatum = cdate("01.01." & akJahr)
06.01.2012 14:01:08
Volker
Hallo JoWe,
Danke für die Antwort,
aber es bleibt beim alten Problem.... erst umformatieren, dann funktoniert es
Jedesmal nach dem generieren des Kalenders habe ich in der benutzerdiefiniertenZellformatierung die
laufende Zahl des Tages stehen. Diese in TT.MM.JJJJ geändert dann gehts.
Danke und Gruß
Volker
AW: geht doch!?!
06.01.2012 14:37:21
JoWe
Hi Volker,
habe Deinen Code mal für mich etwas vereinfacht, klappt ohne Probleme.
Ich muss da auch nix umformatieren!
Public Sub Kalender2()
Dim WkSh_K   As Worksheet
Dim WkSh_F   As Worksheet
Dim aktJahr  As Integer
Dim dDatum   As Date
Dim lZeile   As Long
Dim lFtage   As Long
Application.ScreenUpdating = False
Set WkSh_K = ThisWorkbook.Sheets(1)   ' hier habe ich mal vereinfacht Kalenderblatt
Set WkSh_F = ThisWorkbook.Sheets(2)   ' hier habe ich auch vereinfacht Feiertagsblatt
If IsNumeric(WkSh_K.Range("A1").Value) And _
Len(WkSh_F.Range("A1").Value) = 4 Then
aktJahr = CInt(WkSh_K.Range("A1").Value)
dDatum = CDate("01.01." & aktJahr)
Else
MsgBox "In Zelle A1 steht keine gültige Jahreszahl - Abbruch.", _
48, "   Hinweis für " & Application.UserName
Exit Sub
End If
lZeile = 5
Do
WkSh_F.Range("B" & lZeile).Value = dDatum
lZeile = lZeile + IIf(Month(dDatum) = Month(dDatum + 1), 1, 2)
dDatum = dDatum + 1
Loop Until Year(dDatum) > aktJahr
End Sub
Gruß
Jochen
Anzeige
AW: dDatum = cdate("01.01." & akJahr)
06.01.2012 14:37:46
Volker
Hallo Rudi,
ich kriegs nicht hin. Als letzten versuch habe ich eine Mappe hochgeladen.
Event. fimdest Du ja den Fehler.
Danke und Gruß Volker
https://www.herber.de/bbs/user/78255.xlsm
AW: Spalte umwandeln nach Cdate
06.01.2012 21:13:01
dan
Hallo Volker,
versuch es so: Set rZelle = .Find(CDate(UserForm1.TextBox1.Value), LookIn:=xlFormulas, LookAt:=xlWhole)
"LookIn:=xlFormulas" statt xlValues.
Gruss dan, cz.
Private Sub CommandButton6_Click()
Dim rZelle  As Range
If UserForm1.TextBox1.Value  "" Then
If IsDate(UserForm1.TextBox1.Value) Then
With Worksheets("Stundennachweis").Range("A1:A381")
Set rZelle = .Find(CDate(UserForm1.TextBox1.Value), LookIn:=xlFormulas, LookAt:= _
xlWhole)
If Not rZelle Is Nothing Then
.Range("A" & rZelle.Row).Select
End If
End With
End If
End If
ActiveCell.Offset(0, 1) = UserForm1.ComboBox1.Value   'Dienst
ActiveCell.Offset(0, 2) = UserForm1.TextBox2.Value    'Start
ActiveCell.Offset(0, 3) = UserForm1.TextBox3.Value    'Ende
'ActiveCell.Offset(0, 4) = UserForm1.TextBox4.Value    'Minuten
'ActiveCell.Offset(0, 5) = UserForm1.TextBox5.Value    'Minuten
End Sub

Anzeige
AW: Spalte umwandeln nach Cdate
07.01.2012 11:46:52
Volker
Hallo Dan,
späten Dank für Deine Antwort, jetzt komme ich weiter.
Gruß Volker

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige