ich hoffe es geht allen gut.
Nach Langem habe ich ein Problem das ich selbst nicht gelöst bekomme und hoffe auf euer geschätztes Expertenwissen.
Ich habe ein Worksheet, das sich 1x die Woche aktualisiert und dann per Outlook an verschiedene Empfänger geschickt werden muss. Jede Menge Grafikschnickschnack.
Mit einem schicken Makro öffnet sich Excel als Mailclient, übernimmt die Mailadresse, den Text, die ausgewählte Range, macht eine schicke Mail draus und verschickt sie auf Knopfdruck. Tolle Sache.
Das Problem fängt an der Stelle an, wo der Mailtext an 3 Stellen eine '%-Zahl' enthält. Diese wird natürlich nicht als % angezeigt sondern als Dezimalzahl mit n Nachkommastellen. Das ist nicht schön.
Kann mir jemand sagen wie ich die Zellenformatierung (0.00%) mit 'rüber retten kann?
Im Voraus vielen Dank
Ingo
Sub Send_OriginalRange_from_Excel()
'Office 2000and higher
'Select is definitely needed
'Sends the actual marked range
Dim Name As Variant
Dim Act As Variant
Dim FPS As Variant
Dim CYS As Variant
Dim CWS As Variant
Dim Txt1 As String
Dim Txt2 As String
Dim Txt3 As String
Dim Txt4 As String
Sheets("Sampler").Select
Name = Range("L2")
Act = Range("D3")
FPS = Range("S13")
CYS = Range("O13")
CWS = Range("Q13")
Txt1 = Range("O1")
Txt2 = Range("O2")
Txt3 = Range("O3")
Txt4 = Range("O4")
Range("A5:V59").Select
With Selection
'Envelope Commandbar
'EXCEL as "Mail-Client"
.ActiveWorkbook.EnvelopeVisible = True
'Address allocation
With ActiveSheet.MailEnvelope
'Betreff
.Item.Subject = "Weekly KPI Review"
'"Body"-Text
.Introduction = _
"Dear Colleagues" & vbCrLf & _
" " & vbCrLf & _
"here you are with the actual Weekly KPI Review." & vbCrLf & _
"Calendar week " & Act & "/2020 is loaded and available." & vbCrLf & _
" " & vbCrLf & _
Txt1 & vbCrLf & _
Txt2 & vbCrLf & _
" " & vbCrLf & _
"The actual week-value for the FP Stops as part of the Total PU Stops is " & FPS & " _
_
_
." & vbCrLf & _
"This means " & CYS & " vs last year (YTD) and " & CWS & " for cw" & Act & "." & _
vbCrLf & _
"We will make it." & vbCrLf & _
" " & vbCrLf & _
Txt3 & vbCrLf & _
" " & vbCrLf & _
Txt4 & vbCrLf & _
" " & vbCrLf & _
" " & vbCrLf & _
"Thanks a lot."
.Item.To = Name
.Item.display
End With
End With
ActiveWorkbook.EnvelopeVisible = True
End Sub