Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Teil aus String entfernen 2
#1
Hallo miteinander,

ich habe quasi dieselbe Frage wie heute Morgen noch einmal, nur mit einem anderen String.
Leider bekomme ich den genannten Code nicht auf den neuen String umgebaut.

In Spalte J stehen in jeder Zeile Strings - je nach Sheet unterschiedlich viele. Mal 100, Mal 500 Zeilen.
Es soll nur die Zahl zwischen den ersten beiden "||"..."||" um drei Spalten weiter kopiert werden.
Steht in der Zahl ein Komma, dann soll dieses entfernt werden.
Steht zwischen den beiden"||"..."||" ein oder mehrere Fragezeichen, dann soll nichts dort stehen.

Bsp. Text in Spalte J
|18||963||14,128||404||32,942
übrig sollte in diesem Beispiel also in Spalte M nur noch 963 bleiben

weitere Beispiele:
1||60||2,450||70||3,900
übrig soll 60 bleiben

| 82 || ?? ||30,154 || 861.5 || 219,243
| 61 || ?? || 26,008 || 743|| 151,468
übrig soll "nichts" bleiben

|60||2,784||25,794||737||148,371
übrig soll 2784 bleiben

Dann ist in jeder zweiten Zeile ein "kurzer" String welcher entfernt werden soll - ohne die Zeile zu löschen, und alles darunter dann eins nach oben geschoben werden.
Bsp:
|67||3,309||27,257||779||170,315
|-
|80||4,561||29,784||851||212,579
|-
| 81 || 4,675 || 29,969 || 856 || 215,906
|-
| 82 || ?? ||30,154 || 861.5 || 219,243

übrig bliebe hier dann also:
3309
4561
4675
"nichts" - also eine Leerzeile

Wäre auch das machbar?

Liebe Grüße
Klaus
Antworten Top
#2
Hallo Klaus,

so? 21

.xlsb   UDF_String_Zahl_auslesen_zwei_Stellen_3.xlsb (Größe: 17,63 KB / Downloads: 4)

Also UDF und Sub.
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • Klaus
Antworten Top
#3
Guten Morgen Case,

vielen Dank auch hier wieder. 
Und wieder perfekt. 

Könnte man die Zahlenreihe jetzt noch (ohne die Zeile zu löschen) ohne die Leerzellen nach oben auffüllen?

Liebe Grüße
Klaus
Antworten Top
#4
Hallo Klaus, 19

so? 21

.xlsb   UDF_String_Zahl_auslesen_zwei_Stellen_4.xlsb (Größe: 18,35 KB / Downloads: 5)
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • Klaus
Antworten Top
#5
...einfach nur ein Traum  18

funktioniert wunderbar. 
Herzlichen Dank dir und einen schönen Tag noch

Liebe Grüße
Klaus
Antworten Top
#6
Oder:

Code:
Sub M_snb()
    sn = Tabelle1.Columns(10).SpecialCells(2)
   
    For j = 1 To UBound(sn)
      st = Split(sn(j, 1), "||")
      If UBound(st) > 0 Then c00 = c00 & "_" & Replace(st(1), ",", "")
    Next
    st = Filter(Split(Mid(c00, 2), "_"), "?", 0)
   
    Tabelle1.Cells(1, 11).Resize(UBound(st) + 1) = Application.Transpose(st)
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • Klaus
Antworten Top
#7
Hallo snb,

auch dir ein herzliches Dankeschön.

Liebe Grüße
Klaus
Antworten Top
#8
Statt 40 KB inkl. 3er Codes an Antworten geht auch einfach herunterkopierend: 

=WECHSELN(GLÄTTEN(TEIL(WECHSELN(INDEX(A:A;ZEILE(A1)*2);"||";WIEDERHOLEN(" ";99));100;99));",";)

Excel war nämlich mal nur eine Tabellenkalulation.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste