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

Wenn Variabel gefüllt dann Komma setzen

Wenn Variabel gefüllt dann Komma setzen
07.04.2008 17:12:00
Steffen
Hallo,
ich habe nur eine kleine Frage die Ihr sicher schnell beantworten könnt.
Der Code:

.Subject = "Anfrage für " & Me!Vorname & " " & Me!Nachname & ", " & Me!StraßeLG & " in " & Me!PLZLG & " " & Me!OrtLG


jetzt möchte ich gerne das er die Leerzeichen / Kommas usw nicht automatisch setzt,
sondern nur wenn die Variable auch gefüllt ist.
hatte da mal was gesehen ", + variable" oder so ähnlich, kann es nur nicht wiederfinden.
vielen dank!
Mfg steffen

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
IIF(var="";"";var & ",") (owT)
07.04.2008 17:13:00
Renee

AW: Wenn Variabel gefüllt dann Komma setzen
07.04.2008 17:21:00
Steffen
danke für die Antwort,
ich hatte aber schon mal eine Möglichkeit gefunden das ganze ohne die IF Bedingung zu machen.
Das hält es um einiges übersichtlicher

OK, dann such weiter, denn...
07.04.2008 17:28:35
Renee
du bist der Profi, nicht ich.
GreetZ Renée

AW: Wenn Variabel gefüllt dann Komma setzen
07.04.2008 21:01:38
Gerd
Hallo Steffen,
ich habe das nur ansatzweise getestet. Du kannst ja noch ergänzen.

Sub Ersetzen()
Dim Vorname As String, Nachname As String, StraßeLG As String, PLZLG As String, OrtLG As String
Dim strString As String
Vorname = "Petra"
Nachname = "Müller"
StraßeLG = "Musterstr. 5"
strString = "Anfrage für " & Vorname & " " & Nachname & ", " & StraßeLG & " in " & PLZLG & " " & _
OrtLG
strString = Trim$(Replace(Replace(Replace(strString, " ,  in", ""), ",  in", ""), " in", ""))
End Sub


Der Vorschlag von Renee ist aber viel performanter.
Gruß Gerd

Anzeige
AW: Wenn Variabel gefüllt dann Komma setzen
07.04.2008 23:22:30
Daniel
Hallo
mal ein beispiel ohne If, aber ob das wirklich besser ist, wage ich zu bezweifeln.

Sub Test()
Dim TrKZ(1) As String
Dim Pos(1) As Integer
Pos(0) = 3
Pos(1) = 1
Dim str0 As String, str1 As String, str2 As String, str3 As String
str1 = "Hallo"
str2 = ""
str3 = "Welt"
str0 = str1 & Mid(", " & str2, Pos(-(Len(str2) > 0))) & Mid(", " & str3, Pos(-(Len(str3)  _
> 0)))
MsgBox str0
End sub


Ansonsten müsstest du dir halt selbst ne Funktion schreiben:


Sub Test()
Dim str0 As String, str1 As String, str2 As String, str3 As String
str1 = "Hallo"
str2 = ""
str3 = "Welt"
str0 = str1 & TrKZ(str2, ", ") & TrKZ(str3, ", ")
MsgBox str0
End Sub
Private Function TrKZ(Txt As String, Optional Zeichen As String = ", ") As String
If Len(Txt) > 0 Then TrKZ = Zeichen & Txt
End Function


Gruß, Daniel

Anzeige
Prinzipiell andere Lösungen als die von...
08.04.2008 03:18:19
Luc:-?
...Renee wdn eher komplizierter und unübersichtlicher, Steffen,
was bei dieser popligen Aufgabe wohl kaum die Mühe lohnt. Außerdem ist IIf eine vbFkt (duales Ifkein Einzelausdruck darf einen Fehler liefern!), keine if...then...else-Konstruktion.
Vorstellbar wären z.B. verschiedene konstante Textmasken, die über Anzahl und Art der vorhandenen Variablen ausgewählt wdn (Select Case ausdruck=ausAnzahlundArtzubildenderWert). Die dort jeweils angegebenen Platzhalter wdn dann durch die entsprechenden Variablen ersetzt (Replace). Dadurch können ebenfalls keine überflüssigen Zeichen in denText gelangen. Bei Aufbau der Variablen als Feld (Array) kann das auch zyklisch gestaltet wdn.
Gruß Luc :-?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige