Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1480to1484
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
Zellbereich per Email senden
07.03.2016 18:50:45
Jens
Hallo zusammen,
ich habe mal wieder ein Problem.
Ich sende mit folgendem Macro eine Email per Lotus Notes.
Dies klappt auch sehr gut, nur möchte ich jetzt im Text einen Zellbereich einfügen.
Und dies will mir nicht gelingen.
Sub Einsatzplanungrausdamit()
Dim dummy As Variant
Dim TextB As Variant
Dim TextT As Variant
TextB = UF.Caption
TextT = sheets("Tabelle1").Range("A1:G20")
dummy = SendNotesMail((TextB), "", "meine-email@mail.de", (TextT), False)
End Sub
Der Fehler liegt in der Zeile "TextT".
Geb ich dort nur eine Zelle an klappt es, nur beim Bereich nicht.
Falls der Bereich nicht möglich ist könnten die Daten auch aus einer mehrspaltigen Listbox genommen werden.
Im vorraus schon mal vielen Dank für eure Mühe.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
TextT ist ein Datenfeld (Array), das nicht ...
07.03.2016 21:34:38
Luc:-?
…einfach in einem Konstrukt verwendet wdn kann, das einen Text erwartet, Jens;
du musst die Inhalte des Bereichs erst zu einem einzigen Text verbinden, entweder mit …&…&… oder vbFkt Join, wobei man aber zeilenweise vorgehen muss. Realistisch sähe das aus, wenn man dem die Form einer MatrixKonstanten gibt, was das Kopieren und realistisches Speichern dieser Daten in einer XlTabelle erleichtern würde:
Const adRelBer$ = "A1:G20"
Dim iz As Long, xZ As Range  'Deklaration ergänzen!
With Sheets("Tabelle1").Range(adRelBer)
ReDim TextT(.Rows.Count - 1)
For Each xZ In .Rows
TextT(iz) = Join(xZ, "."): iz = iz + 1
Next xZ
End With
dummy = SendNotesMail(TextB, "", "meine-email@mail.de", "{" & Join(TextT, ";") & "}", False)
In dieser Form ist die MatrixKonstante aber nur für Zahlen zu gebrauchen. Kommen außerdem noch bzw nur Texte im Bereich vor, müssten diese in "…" eingeschlossen wdn, wenn das Ergebnis durch Einkopieren in eine Zelle mit vorangestelltem = bei entsprd ausreichender ZellAuswahl in eine XlTabelle verwandelt wdn soll.
Feedback erwünscht! Gruß, Luc :-?
Besser informiert mit …

Anzeige
Ich doch nicht, snb! ;-) Dein Link wäre ZusatzInf!
07.03.2016 22:04:23
Luc:-?
Gruß, Luc :-?

AW: TextT ist ein Datenfeld (Array), das nicht ...
08.03.2016 15:57:06
Jens
Hallo luc,
Leider kommt wieder in der Zeile TextT eine Fehlermeldung.
Ist es denn vllt möglich den Bereich zu kopieren und dann die Zwischenablage dem TextT zuzuweisen?
Dann würde in der Mail auch die tabellenstruktur erkennbar sein.
Danke erstmal für deine Hilfe

Das übliche WW, ...
08.03.2016 20:13:34
Luc:-?
…Jens:
1. Wobei kommt die FMeldung? (Es gibt mehrere Zeilen mit TextT!)
2. Wie lautet sie?
In der ZwischenAblage steht zwar nur Text, aber so, dass er strukturiert einkopiert wdn kann. Ich glaube kaum, dass das den eMail-Versand übersteht, erst recht nicht, dass sich das so einfügen lässt, ohne ebenfalls einen Fehler zu verursachen! ;-)
Aber ich habe den Fehler bereits gefunden! Teste mal das Folgende:
Sub TestMailText()
Const adRelBer$ = "A1:G20"
Dim iz As Long, dummy$, TextT, xZ, wf As WorksheetFunction
Set wf = WorksheetFunction
With Sheets("Tabelle2").Range(adRelBer)
ReDim TextT(.Rows.Count - 1)
For Each xZ In .Rows
TextT(iz) = Join(wf.Transpose(wf.Transpose(xZ)), "."): iz = iz + 1
Next xZ
End With
Debug.Print "{" & Join(TextT, ";") & "}"
'    dummy = SendNotesMail(TextB, "", "meine-email@mail.de", "{" & _
Join(TextT, ";") & "}", False)
Set wf = Nothing
End Sub
Aber wie gesagt — nur für Zahlen!
Luc :-?
Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige