Hallo, ich stand auch vor der selben herausforderung, daher hier ist die Lösung angepasst für Dich:
Du musst erstmal im Blatt TB1 sicher stellen, dass Du diese Zellen nicht nutzen wirst, da der Code drauf zurückgreift (C1, C2, C3, D1,G1)
Sonst rufst Du diese Makro in einem normalen Modul:(s.unten)
In der Annahme, dass A1 enthält den Text der Mail, oder zumindest laut Deiner Beschreibung sind die Zellen A1 bis A40 verbunden.
Das Formattieren geht leider nicht so einfach...Beispiel, willst du im Text eine neue zeile beginnen, musst du davor %A%A schalten..finde ich auch ganz komisch...
Der Code tut nichts außer die Elemente Deiner Mail in einer einzigen Zelle zu verketten (G1), und die ruft es ab als Hyperlink was gefolgt werden muss :-)
P.S: //// Achtung, wir haben auch Notes und da muss man etwas vorsichtig sein..falls es eine Fehlermeldung (Browser erkennt kein E-Mail Standard Programm), musst Du davor in der Registry das Problemschen lösen: und so geht's
Start(Win) -->bei der Suche "Regedit" eingeben dann ok -->Links in den Ordnern nach mailto suchen (findet man unter:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\mailto
dann auf dem Ordner -->Rechtklick-->Neu-->Schlüssel-->Nenne es URL Protocol
Rechts im Fenster auf dem Element (standard) klicken-> ändern--> den Inhalt löschen...fertig!!! Notes kann jetzt anspringen per Hyperlink! :-)
/////
Code:
Sub SendEmail()
Dim mailmeURL1
Range("C1").Select
ActiveCell.FormulaR1C1 = "mailto:"
Range("C2").Select
ActiveCell.FormulaR1C1 = "?Cc="
Range("C3").Select
ActiveCell.FormulaR1C1 = "?subject="
Range("D1").Select
ActiveCell.FormulaR1C1 = "?Body="
Range("G1").Select
ActiveCell.FormulaR1C1 = _
"=CONCATENATE(RC[-4],RC[-5],R[1]C[-4],R[1]C[-5],R[2]C[-4],R[2]C[-5],RC[-3],RC[-6])"
Range("G1").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
mailmeURL1 = Worksheets("TB1").Range("G1").Value
ActiveWorkbook.FollowHyperlink Address:=mailmeURL1, NewWindow:=True
End Sub
|