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

Monat anders darstellen

Monat anders darstellen
06.04.2021 11:58:06
sigrid
Hallo,
bei mir wird in "i3" die Monatszahl so dargestellt: 01.
Ich möchte es gern so dargestellt haben "Jan 21", so wird auch der
Name der Sheet dargestellt, hier mein Auszug aus dem Makro,
auch durch Hilfe vom Forum.
Ich weiß nicht wie ich die in der Zeile iMonat darstellen soll.
With ActiveSheet
'ThisWorkbook.Worksheets("Tabelle3")
ActiveSheet.Unprotect (getStrPasswort)
iJahr = Val(.Range("N2").Value)
iMonat = Val(.Range("I3").Value)
gruß sigrid

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Monat anders darstellen
06.04.2021 12:38:39
ChrisL
Hi Sigrid
Protect/Unprotect braucht es nur hierfür nicht, aber vielleicht gibt es noch mehr Code.
Sub t()
Dim datDatum As Date
With ActiveSheet
'.Unprotect getStrPasswort
datDatum = DateSerial(.Range("N2"), .Range("I3"), 1)
MsgBox Format(datDatum, "MMM YY")
'.Protect getStrPasswort
End With
End Sub
cu
Chris
AW: Monat anders darstellen
06.04.2021 14:25:03
sigrid
Hallo Chris,
die MsgBox wird mit Richtigen Format angezeigt aber nachher nicht in der Zelle.
mfg sigrid
AW: dazu siehe Beitrag von JoWE owT
06.04.2021 14:29:06
JoWE
Gruß Werner
.. , - ...
AW: Zellformat: "MMM JJ"
06.04.2021 13:02:54
JoWE
AW: Zellformat: "MMM JJ"
06.04.2021 14:29:27
sigrid
Hallo JoWE,
habe ich reingesetzt.
Egal in welchen Monat, es wird immer Jan 00 geschrieben.
gruß sigrid
Anzeige
AW: Zellformat: "MMM JJ"
06.04.2021 14:33:07
Klaus
Hallo Sigrid,
dein Excel ist aber schon auf deutsch eingestellt? Wenn nicht, probiere es mit der englischen Notation "MMM YY".
LG,
Klaus M.
AW: Zellformat: "MMM JJ"
06.04.2021 14:48:25
sigrid
Hallo Klaus, klappt nicht, es wird nur der Monat dargestellt und dann YY
gruß sigrid
AW: Zellformat: "MMM JJ"
06.04.2021 14:33:12
JoWE
Hallo,
lade die Mappe doch mal hoch.
Gruß
Jochen
Danke an alle -)
06.04.2021 14:50:19
sigrid
Hallo Jochen und die Anderen,
kann die Mappe nicht hochladen.
Dann müssen die Kollegen mit der Darstellung leben.
Danke an Alle
gruß sigrid
Stop, könnte man unter Zahlenformat ...
06.04.2021 14:58:28
sigrid
Hallo zusammen,
habe gerade überlegt, könnte man für die Zelle unter Zahlenformat Bezug zu einer Zelle nehmen ?
So: Format 00 +=("n1")
gruß sigrid
Anzeige
AW: Danke an alle -)
06.04.2021 15:02:01
JoWE
Hallo Sigrid,
Was steht denn eigentlich für ein Wert in der infrage kommenden Zelle drin?
Anbei das Makro
06.04.2021 15:12:31
sigrid
Hallo,
das steht für Jan z.B. 01, Februar 02, Zahlenformat ist "00"
Public Sub Arbeitszeiten_eintragen()
Dim iMonat      As Integer
Dim iJahr       As Integer
Dim iUltimo     As Integer
Dim lZeile      As Long
Dim dDatum      As Date
Dim lVormonat   As Long
Dim datDatum As Date            '6.4.21
ActiveSheet.Unprotect (getStrPasswort)
With ActiveSheet
'ThisWorkbook.Worksheets("Tabelle3") ' den Tabellenblatrtnamen ggf. anpassen
ActiveSheet.Unprotect (getStrPasswort)
iJahr = Val(.Range("N2").Value)
iMonat = Val(.Range("I3").Value)
datDatum = DateSerial(.Range("i3"), .Range("I3"), 1)        '6.4.21
MsgBox FormatC "MMM YY")                           '6.4.21
'        den letzten Tag des angeforderten Monats ermitteln
iUltimo = Day(DateSerial(Val(iJahr), iMonat + 1, 0))
'        die Krankheits- und die Zeit-Spalten leeren
.Range("D14:G44").ClearContents
'        die Datumszeilen abarbeiten + 13, weil ab Spalte 14 begonnen wird
For lZeile = 14 To iUltimo + 13
ActiveSheet.Unprotect (getStrPasswort)
Select Case Weekday(CDate(.Range("C" & lZeile).Value), 2)
Case 1 To 4 ' Montag - Donnerstag
.Range("E" & lZeile).Value = ActiveSheet.Range("R2")          '"0800"      ' "08: _
00"
.Range("F" & lZeile).Value = ActiveSheet.Range("Q2")         '"0030"      ' "00: _
30"
.Range("G" & lZeile).Value = ActiveSheet.Range("S2")         '"1700"      ' "17: _
00"
.Unprotect (getStrPasswort)
.Range("C" & lZeile).Font.ColorIndex = 1  '1
Case 5 ' Freitag
.Range("E" & lZeile).Value = ActiveSheet.Range("R2")         '"0800"      ' "08: _
00"
.Range("F" & lZeile).Value = ActiveSheet.Range("Q2")         '"0030"      ' "00: _
30"
.Range("G" & lZeile).Value = ActiveSheet.Range("T2")         '"1430"      ' "14: _
30"
.Unprotect (getStrPasswort)
.Range("C" & lZeile).Font.ColorIndex = 1   '1
Case Else
.Range("E" & lZeile & ":G" & lZeile).ClearContents
End Select
If Feiertage_holen(CDate(.Range("C" & lZeile).Value)) = True Then
.Range("D" & lZeile).Value = "F"
.Unprotect (getStrPasswort)
.Range("C" & lZeile).Font.ColorIndex = 3
.Range("E" & lZeile & ":I" & lZeile).ClearContents
End If
dDatum = CDate(.Range("C14").Value)                        ' Ultimo des Vormonats
For lVormonat = 10 To 5 Step -1                     'hier Änderung jetzt wird ab H5  _
Datum eingetragen
Do
dDatum = dDatum - 1
Loop Until Feiertage_holen(dDatum) = False And _
Weekday(dDatum, 2) 
gruß sigrid
Anzeige
AW: Anbei das Makro
06.04.2021 15:32:12
ChrisL
Hi
Zweimal Zelle I3?
DateSerial(.Range("i3"), .Range("I3"), 1)
Da du das Jahr/Monat zuvor schon an eine Variable übergibst:
DateSerial(iJahr, iMonat, 1)
Nebenbei, wozu soll dieser Abschnitt gut sein?
MappNam = ActiveSheet.Name
For i = 1 To 12
Sheets(i).Select
Next i
Worksheets(MappNam).Select
cu
Chris
Fehler
06.04.2021 16:15:34
sigrid
Hallo Chris,
das doppelte war vorhin vom Test.
DateSerial(iJahr, iMonat, 1)
kommt Fehler beim Kompilieren es fehlt=
Nebenbei, wozu soll dieser Abschnitt gut sein?
Keine Ahnung hat mein Kollege eingefügt.
gruß sigrid
Anzeige
AW: Fehler
06.04.2021 16:24:23
ChrisL
ja schon klar... ich konnte anhand des Codes leider nicht erkennen, was du mit dem Ergebnis anstellen willst z.B.
Range("A1") = DateSerial(iJahr, iMonat, 1)
Das Zellenformat A1 anschliessend wie von JoWE erwähnt formatieren.
AW: Fehler
06.04.2021 16:36:13
sigrid
Hallo Chris,
es ist in der Zelle i3 keine Änderung, das Format und die Anzeige so wie vorher: 01 für Januar,
ich möchte gern, 01 21 oder auch 01 2021
Ich kann aber auch nicht ein Zahlenformat erkennen: Range("A1") = DateSerial(.Range("i3"), .Range("I3"), 1)
Die Möglichkeit im Zahlenformat auf eine Zelle zu gehen geht nicht ?
gruß sigrid
Anzeige
AW: Fehler
06.04.2021 17:14:44
JoWE
Hi,
Wie Du es auch drehen willst, solange in I3 kein gültiges Datum steht, hilft Dir auch das korrekt eingestellte Zellformat nicht.
Gruß
Jochen
Danke ---))
06.04.2021 17:48:43
sigrid
Hallo Jochen,
nochmals für alles !
gruß sigrid

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige