Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1780to1784
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

VBA Variable wird überschrieben

VBA Variable wird überschrieben
03.09.2020 20:52:36
LaFu
Guten Abend zusammen,
ich möchte gern eine Email (Outlook) aus meinem Workbook mit verschiedenen Fragen aus einem Fragenkatalog, welche ich vorher mittels "x" als relevant markiert habe, erstellen.
Meine For...Next Formel überschreibt mir jedoch in meiner erstellten Email immer meine Variable strText, sodass jeweils nur die letzte Frage aus meinem Fragenkatalog mit in meine Email übernommen wird:
Sub Feedback() 'Email an Mandant senden --> Offen
Dim objOutlook As Object
Dim objMail As Object
Dim strHallo As String
Dim strText As String
Dim intRow As Integer
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
strHallo = "Sehr geehrte" & IIf(Inhalt.Range("D4") = "Frau", " ", "r ") & Inhalt.Range("D4") & " _
_
" & Inhalt.Range("E4") & "," & vbCrLf & vbCrLf
For intRow = 8 To 100 'Fehler: Formel nimmt nur eine Markierte Zeile
If Cells(intRow, 7) = "x" Then
strText = Cells(intRow, 3) 'Formel überschreibt strText, sodass immer nur die letzte Cells   _
_
mit einem x aufgenommen wird
End If
Next
With objMail
.To = Inhalt.Range("C4")
.Subject = "Rückfragen / Offene Themen Jahresabschluss " & Inhalt.Range("C3")
.Body = strHallo & strText
.Display
End With
Set objOutlook = Nothing
Set objMail = Nothing
End Sub
Besten Dank für Tipps, Ideen und Anregungen.
Grüße
LF

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Variable wird überschrieben
03.09.2020 21:12:03
ralf_b
strText = strText & Cells(intRow, 3)
AW: VBA Variable wird überschrieben
04.09.2020 08:34:04
Schorsch
Danke Ralf.
Leider wird mir dadurch aber ganz nichts mehr angezeigt.
For intRow = 8 To 100 'Fehler: Formel nimmt nur eine Markierte Zeile
If Cells(intRow, 7) = "x" Then
strText = strText & Cells(intRow, 3)
End If
Next
AW: VBA Variable wird überschrieben
04.09.2020 09:36:44
LaFu
strText = strText & vbNewLine & Cells(intRow, 3)
Das hat funktioniert.
Danke
AW: VBA Variable wird überschrieben
04.09.2020 09:44:49
Werner
Hallo,
dann aber nicht mehr offen.
Zudem würde ich das so machen:
If strText = vbnullstring Then
strText = Cells(intRow, 3)
Else
strText = strText & vbNewLine & Cells(intRow, 3)
End If
Sonst hast du bei nur einem Treffer trotzdem einen Zeilenumbruch.
Gruß Werner
Anzeige
AW: VBA Variable wird überschrieben
04.09.2020 09:57:37
LaFu
Danke (korrekt, Haken ausversehen gesetzt)
AW: VBA Variable wird überschrieben
03.09.2020 21:16:25
Werner
Hallo,
na ist ja klar, bei jedem Schleifendurchlauf wir der neue Wert in die Variable geschrieben und damit ist der alte Wert weg.
Wie sollen denn die verschiedenen Werte in die Variable? Getrennt mit Komma, Semikolon, Leerzeichen? Oder nach jedem Eintrag ein Zeilenumbruch?
Gruß Werner
AW: VBA Variable wird überschrieben
04.09.2020 07:01:41
LaFu
Moin Werner,
genau so hab ich das auch verstanden, nur nicht wie ich es beheben kann.
Am liebsten jeder Wert in eine Neue Zeile (Zeilenumbruch) mit Bullet-Point.
LG
LF

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige