VBA - Format klappt nicht
#1
Im Blatt "Monat" steht aktuell in Zelle M2 der Name des Monats Januar drin.
Aber wenn ich meine MsgBox aufrufe, dann steht dort nicht Januar, sondern 01.01.2018...
Da soll doch nur JANUAR stehen...
Ich weiß nicht wie ich das in der Zeile
Format(Worksheets("Monat").Range("M2"), Text)
schreiben soll....
Ich habe schon einiges probiert.

Kann mir da jemand die richtige Syntax geben?

Code:
Application.Intersect(Target.EntireRow, Zellbereich).Interior.Color = vbYellow
   meldung = MsgBox("Soll der Wert aus der Tabelle des Monats" & vbNewLine & _
             Format(Worksheets("Monat").Range("M2"), Text) & vbNewLine & _
             Worksheets("Monat").Range("M1") & vbNewLine & _
             "in die Tabelle Jahresübersicht kopiert werden?" & vbNewLine & _
             "" & vbNewLine & _
             "Wert kopieren", vbYesNo, "__")
      If meldung = vbNo Then
          Application.Intersect(Target.EntireRow, Zellbereich).Interior.Color = vbWhite
          Exit Sub
      End If
Top
#2
Hallo Achim,

z.B. so:
Application.Intersect(Target.EntireRow, Zellbereich).Interior.Color = vbYellow
meldung = MsgBox("Soll der Wert aus der Tabelle des Monats" & vbNewLine & _
Worksheets("Monat").Range("M2").Text & vbNewLine & _
Worksheets("Monat").Range("M1") & vbNewLine & _
"in die Tabelle Jahresübersicht kopiert werden?" & vbNewLine & _
"" & vbNewLine & _
"Wert kopieren", vbYesNo, "__")
If meldung = vbNo Then
Application.Intersect(Target.EntireRow, Zellbereich).Interior.Color = vbWhite
Exit Sub
End If
Gruß Uwe
Top
#3
Hallo Achim,

vielleicht so (ist aber ungetestet)

Code:
Application.Intersect(Target.EntireRow, Zellbereich).Interior.Color = vbYellow
   meldung = MsgBox("Soll der Wert aus der Tabelle des Monats" & vbNewLine & _
             Format(Worksheets("Monat").Range("M2"), "MMMM") & vbNewLine & _
             Worksheets("Monat").Range("M1") & vbNewLine & _
             "in die Tabelle Jahresübersicht kopiert werden?" & vbNewLine & _
             "" & vbNewLine & _
             "Wert kopieren", vbYesNo, "__")
      If meldung = vbNo Then
          Application.Intersect(Target.EntireRow, Zellbereich).Interior.Color = vbWhite
          Exit Sub
      End If
Gruß Stefan
Win 10 / Office 2016
Top
#4
Hallo Uwe,

danke dir für die schnelle Rückinfo dazu.
Funktioniert jetzt prima.

Wünsche dir einen prickelnden Übergang nach 2018...
Top
#5
Hallo Stefan,

auch dir ein Danke schön für die Info.
Das mit den MMMM hatte ich auch probiert; ging aber nicht.
Hatte vermutlich die " " vergessen....
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste