Supportnet / Forum / Tabellenkalkulation
Name kürzen
Frage
Hallo!
brauche Eure hilfe wieder mal :-)
Ich möchte, dass bei der Bezeichnung S0101066-[b]1000,[/b]S0101066-[b]2000[/b], S0101066-[b]3000 [/b]nicht gekürzt wird, sonst immer kürzen.
Beispiel :
S0202040-1200 (kürzen) auf S0202040
S0202040-1500 (kürzen) auf S0202040
aber bei
S0101066-1000 (nicht kürzen) muss so angezeigt werden.
S0101066-2000 (nicht kürzen) muss so angezeigt werden.
S0101066-3000 (nicht kürzen) muss so angezeigt werden.
Formel:
namekuerzen = Left$(var2vpname, 8)
Wie mache ich das ? weiter bin ich nicht
Gruß, LuiS
Antwort 1 von Flupo
Brauchst du die Lösung als Tabellenfunktion oder als VBA-Code?
Gruß Flupo
Gruß Flupo
Antwort 2 von LuiS23
Hallo,
als VBA-code
Gruß, LuiS
als VBA-code
Gruß, LuiS
Antwort 3 von LuiS23
Hallo,
als VBA-code
Gruß, LuiS
als VBA-code
Gruß, LuiS
Antwort 4 von Flupo
Entschuldige bitte, dass ich auch noch was anderes zu tun habe, als hier auf deine Antworten zu warten. ;-)
Da du leider mit Infos zu deinem Programm etwas geizt, hier auch nur ein minimaler Lösungsvorschlag:
Ich gehe davon aus, dass der zu kürzende Wert in der Zeichenkettenvariable "var2vpname" steht und diese auch für die Ausgabe verwendet werden soll:
Gruß Flupo
Da du leider mit Infos zu deinem Programm etwas geizt, hier auch nur ein minimaler Lösungsvorschlag:
Ich gehe davon aus, dass der zu kürzende Wert in der Zeichenkettenvariable "var2vpname" steht und diese auch für die Ausgabe verwendet werden soll:
If Right(var2vpname, 3) <> "000" Then
var2vpname = Left(var2vpname, 8)
End If
Gruß Flupo
Antwort 5 von rainberg
Hallo LuiS23,
hier mein Vorschlag
@ Flupo
Dein Vorschlag kürzt auch 5000, 6000, 1000000 ....usw.
Gruß
Rainer
hier mein Vorschlag
Option Explicit
Sub kuerzen()
Dim rngC As Range
For Each rngC In Range("A1:A100") 'Bereich anpassen
If rngC <> "" Then
If Right(rngC.Value, 4) = "1000" _
Or Right(rngC.Value, 4) = "2000" _
Or Right(rngC.Value, 4) = "3000" Then
Else
rngC.Value = Left(rngC.Value, Len(rngC.Value) - 5)
End If
End If
Next
End Sub@ Flupo
Dein Vorschlag kürzt auch 5000, 6000, 1000000 ....usw.
Gruß
Rainer
Antwort 6 von LuiS23
Hallo,
leider hab Ihr mich falsch verstanden oder ich habe mich falsch ausgedrückt.
Ich möchte, das bei den Nummern "S0101066-1000" & "S0101066-2000" & "S0101066-3000" nicht gekürzt wird, sonst immer. Das ist alles.
Range("a1000").Select
Selection.End(xlUp).Select
var2vpname = Range("a2").Value
namekuerzen = Left$(var2vpname, 8)
leider hab Ihr mich falsch verstanden oder ich habe mich falsch ausgedrückt.
Ich möchte, das bei den Nummern "S0101066-1000" & "S0101066-2000" & "S0101066-3000" nicht gekürzt wird, sonst immer. Das ist alles.
Range("a1000").Select
Selection.End(xlUp).Select
var2vpname = Range("a2").Value
namekuerzen = Left$(var2vpname, 8)
Antwort 7 von rainberg
Hallo LuiS23,
..... und genau das macht mein Makro.
Gruß
Rainer
Zitat:
Ich möchte, das bei den Nummern "S0101066-1000" & "S0101066-2000" & "S0101066-3000" nicht gekürzt wird, sonst immer. Das ist alles.
Ich möchte, das bei den Nummern "S0101066-1000" & "S0101066-2000" & "S0101066-3000" nicht gekürzt wird, sonst immer. Das ist alles.
..... und genau das macht mein Makro.
Gruß
Rainer
Antwort 8 von Flupo
Zitat:
..... und genau das macht mein Makro.
..... und genau das macht mein Makro.
Nö, nicht ganz. Es kürzt alle Strings, die auf "1000", "2000" oder "3000" enden. Kleiner, aber feiner Unterschied.
Die If-Bedingung muss also nur so abgeändert werden, dass nicht ein Teil sondern der ganze String auf Übereinstimmung geprüft wird.
Gruß Flupo
Antwort 9 von Flupo
Ergänzung zu unserer Ehrenrettung: Im Ausgangsposting wurde durch den Fettdruck der Eindruck erweckt, dass die letzten vier Stellen das entscheidende Kriterium sind.
@LuiS23: was sollen die beiden Select-Anweisungen in deinem Code bezwecken?
Gruß Flupo
@LuiS23: was sollen die beiden Select-Anweisungen in deinem Code bezwecken?
Gruß Flupo
Antwort 10 von rainberg
Hallo Flupo,
.... hast Du es mal getestet ?:-))
Gruß
Rainer
Zitat:
Nö, nicht ganz. Es kürzt alle Strings, die auf "1000", "2000" oder "3000" enden. Kleiner, aber feiner Unterschied.
Nö, nicht ganz. Es kürzt alle Strings, die auf "1000", "2000" oder "3000" enden. Kleiner, aber feiner Unterschied.
.... hast Du es mal getestet ?:-))
Gruß
Rainer

