Registriert seit: 30.12.2024
Version(en): 365
Hallo zusammen,
ich habe in einer Exel-Mappe ein Modul wodurch eine E-Mail erzeugt wird und ein bestimmter Teil aus einem Tabbellenblatt eingefügt wird.
Wie muss ich den Code ändern, wenn ich mehrere Bereiche in der E-Mail versenden möchte. Es sollen die Bereiche B5:N43, P5:AB43, AD5:AP43 und AR5:BD43 dargestellt werden.
Hier der Original-Code:
Set rng = Sheets("Blatt2").Range("B5:BD43")
Ich danke euch für eure Hilfe.
Mit besten Grüßen
Ole
Registriert seit: 04.11.2014
Version(en): Office 365 Beta
Hi,
Set rng = Sheets("Blatt2").Range("B5:N43, P5:AB43, AD5:AP43, AR5:BD43")
Registriert seit: 30.12.2024
Version(en): 365
Hi Boris,
danke für deine Hilfe.
jetzt bekomme ich in der Funktion RangetoHTML (rng As Range) den Fehler, dass mehrere bereiche nicht möglich sind.
Function RangetoHTML(rng As Range)
Dim TempFile As String
Dim TextStream As Object
Dim FSO As Object
Dim TempWB As Workbook
TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"
rng.Copy
Set TempWB = Workbooks.Add(1)
Hast du dafür auch eine Idee?
Gruß Ole
Registriert seit: 22.11.2019
Version(en): 365
Hallo Ole,
das PublishObjects.Add unterstützt diese Mehrfachrangeangabe nicht.
Ungeprüfte Ideen dazu:
- die Spalten O, AC und AQ vor der Benutzung von RangetoHTML ausblenden und später wieder einblenden
- RangeToHTML mehrfach benutzen
- .GetInspector.WordEditor.Paste mehrfach verwenden
Gruß Karl-Heinz
Registriert seit: 04.11.2014
Version(en): Office 365 Beta
Hi,
Zitat:jetzt bekomme ich in der Funktion RangetoHTML (rng As Range) den Fehler, dass mehrere bereiche nicht möglich sind.
Ja, ist mir bekannt - aber von der UDF stand nix in der Frage

Die Hinweise von Karl-Heinz werden aber sicher fruchten
Registriert seit: 30.12.2024
Version(en): 365
Hallo zusammen und Danke für eure Hilfe.
Wir haben inzwischen eine Lösung gefunden.
Für jeden Bereich eine rng definiert .
Set rng(1) = Sheets("Blatt2").Range("B5:N43")
Set rng(2) = Sheets("Blatt2").Range("P5:AB43")
Set rng(3) = Sheets("Blatt2").Range("AD5:AP43")
Set rng(4) = Sheets("Blatt2").Range("AR5:BD43")
und im Body das untereinandersetzen bestimmt.