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

Wert verkürzen

Wert verkürzen
30.05.2013 17:16:41
Stefan
Hallo zusammen
ich habe einen Inhalt in Zelle A1, welchen ich verkürzen möchte.
Falls der Wert in A1 bei den ersten drei Buchstaben (aber nur dann) "X12" enthält, sollen diese gelöscht werden.
Zur Verdeutlichung:
X12C43X12 soll zu C43X12 verkürzt werden oder
R5KUU9R52 soll zu KUU9R52 verkürzt werden
Wie kann ich Excel mitteilen, dass nur das erste "X12" bzw. "R5" gelöscht werden soll, die weiter hinten im Wert vorhandene "X12" jedoch behält?
Folgendes funktioniert dummerweise nicht:
.Value = WorksheetFunction.Substitute(.Value, "X12", "")
kann ich dafür nicht nutzen, da damit auch das zweite X12 im Wert gelöscht würde und
X12C43X12 zu C43 verkürzt wird (statt gewünscht: C43X12).
Vielen Dank im Voraus für eure Vorschläge.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert verkürzen
30.05.2013 17:39:06
Hajo_Zi
If Left(.value,3)="X12" then .value=Mid(.value,4)
das andere Analog.

Das würde auch fktionieren, wenn du ...
30.05.2013 18:37:43
Luc:-?
…die Fkt entsprd argumentiert hättest, Stefan; ;-)
.Value = WorksheetFunction.Substitute(.Value, "X12", "", 1)
Allerdings müsste ein Wert der mindestens ein X12 enthält auch immer mit einem X12 beginnen, sonst wird das nächste gelöscht.
Gleiches gilt übrigens für die vbFkt Replace: .Value = Replace(.Value, "X12", "", 1, 1).
Außerdem ginge noch .Value = WorksheetFunction.Replace(.Value, 1, 3, "") (Byte-Variante ReplaceB ), aber bei allen diesen Varianten müsstest du ohnehin abfragen, ob der Wert auch mit dem jeweils relevanten Text beginnt. Da ist dann wohl doch Hajos Angebot das rationellste.
Gruß Luc :-?

Anzeige
Alternative
31.05.2013 00:11:18
CitizenX
Hi,
anbei mal ein Bsp Code:
Option Explicit
Sub test()
    Dim myArr: myArr = Array("X12", "R5") ' deine zu wechselnden Anfangsbegriffe
    Dim i, x
    Dim oCell As Object
    
    ' Beispielschleife
    For Each oCell In Selection
        For i = 0 To UBound(myArr)
        x = IIf(InStr(oCell, myArr(i)), InStr(oCell, myArr(i)), 1)
        oCell = Application.Substitute(oCell, myArr(i), "", x)
        Next
    Next
End Sub

Grüße
Steffe

Anzeige
AW: Wert verkürzen
31.05.2013 11:29:13
Stefan
Hallo an alle Vorposter,
Vielen vielen Dank für eure Hilfe, so macht es enorm Spass zu dazuzulernen :D. Ich schätze eure Mühe sehr und bedanke mich ebenfalls für die Erläuterungen - dies ist wirklich ein Spitzenforum.
Liebe Grüsse,
Stefan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige