Anzeige
Archiv - Navigation
1744to1748
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

Im VBA Zeilen ausblenden

Im VBA Zeilen ausblenden
24.03.2020 13:25:20
Torsten
Moin Zusammen,
Aus dem VBA heraus wird eine Email erzeugt in der ich mehrere Zellen Text anzeigen lasse
Ich habe im Tabellenblatt ein Formularsteuerelement (Haken im Feld C1
Wenn ich dies aktiviere, dann fügt es 5 weitere Zeilen text hinzu, die vorher durch folgende Methode ausgeblendet sind.
=WENN($C$1=WAHR;"Die Ware muss nach oben hin entladbar sein.";"")
Mein Problem beim erstellen der Mail ist die, dass die Mail bei ausgeblendeten Text trotzdem die 5 leeren Zeilen erstellt. B16-B20
Damit habe ich aber einen zu großen Abstand zwischen der Mail und der Signatur.
Wie kann ich das anders lösen? Hinter .value & steht überall noch ein

Sub senden()
Dim olApp As Object
Dim str_signatur_pfad As String
str_signatur_name = "Auto-Signatur-extern"
str_signatur_pfad = Environ("appdata") & "\Microsoft\Signatures\" & str_signatur_name & ".htm"
If Dir(str_signatur_pfad)  "" Then
str_signatur = GetSignature(str_signatur_pfad)
Else
str_signatur = "Bitte Signatur wie folgt umbenennen: Auto-Signatur-extern"
End If
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
strhtml = strhtml & "

" strhtml = strhtml & Range("B7").Value & "
strhtml = strhtml & Range("B8").Value & "
strhtml = strhtml & Range("B9").Value & "
strhtml = strhtml & Range("B10").Value & "
strhtml = strhtml & Range("B11").Value & "
strhtml = strhtml & Range("B12").Value & "
strhtml = strhtml & Range("B13").Value & "
strhtml = strhtml & Range("B14").Value & "
strhtml = strhtml & Range("B15").Value & "
strhtml = strhtml & Range("B16").Value & "
strhtml = strhtml & Range("B17").Value & "
strhtml = strhtml & Range("B18").Value & "
strhtml = strhtml & Range("B19").Value & "
strhtml = strhtml & Range("B20").Value & "

" strhtml = strhtml & "" & str_signatur .SentOnBehalfOfName = Range("B3") .To = Range("B4") .cc = Range("B5") .bcc = Range("B6") .Subject = Range("B2") .htmlbody = strhtml .Display Dim strAttachment As String, strxlFile As String, strPDFFile As String Dim objxl As Object, objxlFile As Object Dim Mappe As String Mappe = ThisWorkbook.Path & "\" & "Transportauftrag.xlsx" Workbooks.Open Filename:=Mappe, UpdateLinks:=3 ActiveWorkbook.Close SaveChanges:=True strxlFile = ThisWorkbook.Path & "\" & "Transportauftrag.xlsx" strPDFFile = Left(strxlFile, InStrRev(strxlFile, ".") - 1) & ".pdf" Set objxl = CreateObject("excel.Application") Set objxlFile = objxl.Workbooks.Open(strxlFile) objxlFile.ExportAsFixedFormat xlTypePDF, strPDFFile objxlFile.Close False objxl.Quit .Attachments.Add strPDFFile Set objxlFile = Nothing Set objxl = Nothing End With Set olApp = Nothing End Sub Function GetSignature(fPath As String) As String Dim fso As Object Dim TSet As Object Set fso = CreateObject("Scripting.FileSystemObject") Set TSet = fso.getfile(fPath).OpenAsTextStream(1, -2) GetSignature = TSet.readall TSet.Close End Function

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Im VBA Zeilen ausblenden
24.03.2020 13:49:08
Daniel
Hi
Da musst du eine Abfrage einbauen, ob die Zeile sichtbar ist:
If Rows(7).hidden = False then strhtml = strhtml & Range("B7").Value & VbLf
In dem Fall besser als Schleife über alle sichtbaren Zellen:
Dim Zelle AS Range
for each Zelle Range("B7:B20"). SpecialCells(xlcelltypevisible)
Strhtml =Strhtml & Zelle.value & vblf
Next
Gruß Daniel
AW: Im VBA Zeilen ausblenden
24.03.2020 14:44:03
Torsten
Danke dir,
die Abfrage funktioniert so.

If Rows(7).hidden = False then strhtml = strhtml & Range("B7").Value & VbLf

Bei der Schleife kommt ein Fehler.
Anzeige
AW: Im VBA Zeilen ausblenden
24.03.2020 15:18:35
Torsten
Der Zeilenumbruch funktioniert aber auch nicht und wenn ich einfüge funktioniert die _ Abfrage nicht mehr.

If Rows(7).hidden = False then strhtml = strhtml & Range("B7").Value & 

AW: Im VBA Zeilen ausblenden
24.03.2020 15:25:30
Daniel
wie wäre es mit Anführungszeichen für den Text?
Gruß Daniel
AW: Im VBA Zeilen ausblenden
24.03.2020 17:00:13
Torsten
Hi Daniel,
habe auch mit Anführungszeichen getestet. Dann funktioniert aber aus Ausblenden bei leerer Zeile nicht mehr.
Gibt es da noch eine andere Möglichlkeit?
AW: Im VBA Zeilen ausblenden
24.03.2020 22:35:38
Daniel
Hä, sorry ich versteht dich nicht.
Das Trennzeichen fügst du so hinzu, wie du es bisher auch gemacht hast.
Ich habe dir nur zeigen wollen, wir du prüfen kannst, ob eine Zeile ausgeblendet ist um zu verhindern, dass dieser Wert in den Text kommt.
Alles andere ist dein Bier.
Gruß Daniel
Anzeige
AW: Im VBA Zeilen ausblenden
24.03.2020 15:22:05
Daniel
Auf die Fehlerbeschreibung "kommt ein Fehler" lautet die zur Qualität der Fehlerbeschreibung passende Antwort: "Mach es einfach richtig"
Gruß Daniel
AW: Im VBA Zeilen ausblenden
24.03.2020 15:33:02
Torsten
Habe den Fehler In der Schleife gefunden.
Es fehlte das "In"

Dim Zelle As Range
For Each Zelle In Range("B7:B20").SpecialCells(xlCellTypeVisible)
strhtml = strhtml & Zelle.Value & vbLf
Next

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige