Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
680to684
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
680to684
680to684
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Array mit einer Variablen befüllen

Array mit einer Variablen befüllen
11.10.2005 17:02:25
MB
Hallo zusammen,
kann sich bitte mal jemand nachstehenden code anschauen:
ich lese mit e email-Adressen aus einer Tabelle aus, z ist der Zähler für die Schleife und t bestimmt das Ende der Schleife.
Die Variable e soll dann der Inhalt des Arrays sein, um das Blatt zu versenden.
Leider kommt immer die Fehlernummer 1004!
Was mache ich falsch - kann man ein Array in der Art schreiben
----Ausschnitt-----Beginn
z = ActiveCell.Row + 1
e = ""
e = wksDE.Cells(z, 2)
z = z + 1
Do Until t = "eof"
e = e & "''" & ", " & "''" & wksDE.Cells(z, 2)
'hier werden weitere email-Adressen in "" geschrieben und an schon vorhandene angefügt
z = z + 1
t = wksDE.Cells(z, 2)
Loop
On Error Resume Next
ActiveWorkbook.SendMail Array(e), "aktuelle Übersicht StIKS"
If Err.Number größer 0 Then MsgBox "Mail wurde nicht versandt!"
On Error GoTo 0
---Auschschnitt-----Ende

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array mit einer Variablen befüllen
11.10.2005 22:08:50
MichaV
Hallo,
Deine Auslese- Variante mit der richtigen Array- Erstellung:


      
Option Explicit
Sub Senden()
Dim z%, e() As String, t$
Dim wksDE As Worksheet
Set wksDE = ActiveSheet
z = ActiveCell.Row + 1
ReDim e(0)
e(0) = wksDE.Cells(z, 2)
z = z + 1
Do Until t = "eof" 'bei dieser Variante gehst Du davon aus, daß mindestens eine
'Email- Adresse gelesen wird. Kannst Du das sicherstellen?

'ansonsten schreibe...
'Do Until wksDE.Cells(z, 2) = "eof"
  ReDim Preserve e(UBound(e) + 1)
  e(
UBound(e)) = wksDE.Cells(z, 2)
  z = z + 1
  t = wksDE.Cells(z, 2) 
'...und lasse diese Zeile dann weg
Loop
On Error Resume Next
ActiveWorkbook.SendMail e, "aktuelle Übersicht StIKS"
If Err.Number <> 0 Then MsgBox "Mail wurde nicht versandt!"
On Error GoTo 0
End Sub 
PS: Rückmeldung wäre nett.
Anzeige
Super - Danke und noch eine Verständnisfrage
12.10.2005 08:55:33
MB
Hallo Micha,
funktioniert super, recht herzlichen Dank! Da hab ich ja wieder richtig was gelernt.
Noch eine Frage, was hat es mit dem %-Zeichen und dem $-Zeichen in der Deklaration auf sich?
Dim z%, e() As String, t$
LG Mike
OT: jo Danke, hab´s mir gleich ausgedruckt
12.10.2005 10:14:46
MB

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige