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

VBA - Schleifenproblem

VBA - Schleifenproblem
19.09.2003 10:24:45
Martin
Hallo,

mit folgendem Makro (auf das Wesentliche reduziert) lese ich Werte einer Tabelle aus und kopiere sie in ein Mail nach Outlook:


Sub Schleife2()
Dim olApp As Outlook.Application
Dim oMailItem As Outlook.MailItem
Set olApp = New Outlook.Application
Set oMailItem = olApp.CreateItem(olMailItem)
On Error GoTo 0
IntCount = Sheets(2).Range("G6:G124").Rows.Count
For i = 1 To IntCount
strwhere = strwhere & Sheets(2).Range("B6:B124").Rows(i) & " " & Sheets(2).Range("G6:G124").Rows(i) & vbCrLf
Next
With oMailItem
.Body = strwhere
.Display
End With
Set olApp = Nothing
Set oMailItem = Nothing
End Sub


Das funktioniert soweit auch ganz gut. Nur habe ich in der Range, die von IntCount abgegrast wird, nicht unbedingt überall Werte stehen und gerade diese Zellen müssten ausgeschlossen werden.

Konkret: das Makro müsste derart abgeändert werden, dass IntCount nicht die Anzahl Zellen im benannten Bereich zählt, sondern nur diejenigen in Range("G6:G124"), deren Zellwert > "" ist.

Leider bekomme ich es aber nicht auf die Reihe. Kann mir jemand einen Tip geben bitte?

Gruss,
Martin

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Schleifenproblem
19.09.2003 10:47:42
Dirk
Vielleicht unsauber aber hilft unter Umständen.

For I = 1 To IntCount
If Range("G6:G124").Rows(I).Value = "" Then
I = I
Else
strwhere = strwhere & Sheets(2).Range("B6:B124").Rows(I) & " " & Sheets(2).Range("G6:G124").Rows(I) & vbCrLf
End If
Next
AW: VBA - Schleifenproblem
19.09.2003 10:54:56
Martin M.
Hallo Namenskollege
probier innerhalb der Schleife eine Abfrage zu machen:

For i = 1 to IntCount
if Sheets(2).Range("B6:B124").Rows(i) <> "" then
strwhere = str... usw.
end if
Next i

Grüße
Martin M.
Danke euch beiden!! oT
19.09.2003 11:25:49
Martin
M.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige