Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1116to1120
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
Inhaltsverzeichnis

Schleife anpassen

Schleife anpassen
Thomy
Hallo Excelexperten
Ich versende SMS über eine Exceltabelle. Die benoetigten Daten lade ich automatisch in die Exceltabelle. Die Anzahl ist immer unterschiedlich. Ich kann aber hoechstens 20 miteinander versenden. Wie muss ich den folgenden Code, den ich hier gefunden habe aendern, damit immer zuerst geprueft wird, wie viele Daten vorhanden sind und die Schlaufe For i = 1 to ? angepasst wird.
Im Voraus vielen Dank für eure Hilfe.
Thomy
Private Sub CommandButton1_Click()
Dim OutApp As Object, Mail As Object
Dim i As Integer
Dim Nachricht
For i = 1 To 20
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.SentOnBehalfOfName = Cells(i, 6)
.To = Cells(i, 5) 'Adresse
.Subject = Cells(i, 8)
.Body = Cells(i, 9)
.Display
SendKeys "%s", True
End With
Set OutApp = Nothing 'CreateObject("Outlook.Application")
Set Nachricht = Nothing 'OutApp.CreateItem(0)
Application.Wait (Now + TimeValue("0:00:05"))
Next i
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Schleife anpassen
18.11.2009 09:32:32
Oberschlumpf
Hi Thomy
Wenn ich dich richtig verstanden habe, dann versuch es mal so:
Private Sub CommandButton1_Click()
Dim OutApp As Object, Mail As Object
Dim i As Integer
Dim Nachricht
Dim lloLetzte As Long
lloLetzte = Cells(Rows.Count, 3).End(xlUp).Row
If lloLetzte > 20 Then lloLetzte = 20
For i = 1 To lloLetzte
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.SentOnBehalfOfName = Cells(i, 6)
.To = Cells(i, 5) 'Adresse
.Subject = Cells(i, 8)
.Body = Cells(i, 9)
.Display
SendKeys "%s", True
End With
Set OutApp = Nothing 'CreateObject("Outlook.Application")
Set Nachricht = Nothing 'OutApp.CreateItem(0)
Application.Wait (Now + TimeValue("0:00:05"))
Next i
End Sub
- an lloLetzte wird die zuletzt benutzte Zeile in Spalte C übergeben
- sollten mehr Datenzeilen als 20 vorhanden sein, wird lloLetzte auf 20 begrenzt
Voraussetzung ist aber, dass zumindest in Spalte C keine weiteren Infos, als die vom Code abgefragten stehen.
Will sagen, zumindest in Spalte C dürfen unterhalb deiner erwähnten Daten keine weiteren Einträge stehen.
Hilfts?
Ciao
Thorsten
Anzeige
AW: Schleife anpassen
18.11.2009 09:47:41
Thomy
Hallo Thorsten
Funktioniert bestens.
Vielen Dank.
Thomy

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige