Clever-Excel-Forum

Normale Version: Erstes Wort aus Zelle ausgeben, aber was wenn nur 1 Wort enthalten ist?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ist wahrscheinlich ganz einfach, aber ich komme einfach nicht dahinter, deswegen brauche ich wieder mal eure Hilfe! :)

Dim KdNa as string
KdNa = Cells(1, 7).Value
KdNa = Left(KdNa, InStr(KdNa, " ") - 1)
Msgbox Kdna

In G1 steht zum Beispiel: "Ich will nicht"

Wenn ich den Code laufen lassen, dann spuckt er mir "Ich" aus. Wenn aber in G1 nur "Ich" drin steht, dann kommt es zum Fehler im Code, da kein Leerzeichen gefunden wird? 
Die Frage ist, wie kann ich das abfangen, wenn eben in einer Zelle eben nur ein Wert steht, dass mir dieser trotzdem angezeigt wird?

Vielen Dank im Voraus 
LG, Alexandra
Hi,

z.B.:

KdNa = Cells(1, 7).Value & " "
Code:
Sub M_snb()
  msgbox split(Cells(1, 7))(0)
End Sub
Hallo Edgar und snb,

funktionieren beide, habe mich für die Lösung von snb entschieden, scheint da "sauberer" in meinen Augen! :)
Herzlichen Dank Euch Beide! :)

LG aus Nürnberg
Alexandra
Hallöchen,

mal noch ein Hinweis - auch wenn ich den Vorschlag von snb nutzen würde Smile

Man kann natürlich auch prüfen, ob der INSTR 0 ergibt und wenn ja, alles übernehmen Smile
Darüber hinaus könnte man das dann mit IIf auswerten, im Prinzip

IIf InStr(KdNa, " ")=0,KdNa,Left(KdNa, InStr(KdNa, " ") - 1))
Hallo Andre,

das ist auch eine gute Idee, allerdings, wie du auch schon geschrieben hast, die Lösung von snb wird bevorzugt! :)

Herzlichen Dank & LG
Alexandra
Als Formel: =TEXTVOR(A1&" ";" ") funktioniert auch bei Leerzelle (da dürfte Split möglicherweise einen Fehler zurückgeben)
Das geht auch in VBA, wie Egar auch schon schrieb:

Code:
Sub M_Kuwer()
  MsgBox Split(Cells(1, 7).Value & " ")(0)
End Sub