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

InStr und Len anwenden

InStr und Len anwenden
23.09.2014 10:38:23
Halli
Hallo zusammen,
In einem Makro transportiere ich Daten von einem anderen Sheet in die Spalte I. Dabei suche ich nach einer ID (in diesem Fall 1004).
Spalte G sieht in dem neuen Sheet beispielsweise so aus: die ID kommt dabei immer zweimal vor, in der Mitte (durch Unterstriche verbunden) steht Information die ich im folgenden auslesen möchte.
1000_100_1000;1001_2,7_1001;1002_8_1002;1003_1,7_1003;1004_0_1004;
1004_3_1004;
110_20_110;1004_5_1004;111_16_111;
nun möchte ich in Spalte G, die getrennte Information zwischen den Unterstrichen der ID 1004 auslesen. Ergebnis der Spalte G soll also sein
0
3
5
könntet ihr mir dabei helfen, die gewünschte Information auszulesen? Spalte G kann unterschiedlich lang sein. ID ist bei mir im Code des vorhandenen Makros als String deklariert und wird anhand einer Box vom User eingegeben. Die eingegeben ID kann also im weiteren Code verwendet werden.
Liebe Grüße

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

Betreff
Datum
Anwender
Anzeige
AW: InStr und Len anwenden
23.09.2014 10:45:45
Hajo_Zi
das geht auch ohne VBA.

Tabelle10
 GH
11000_100_1000;1001_2,7_1001;1002_8_1002;1003_1,7_1003;1004_0_1004;0
21004_3_1004;3
3110_20_110;1004_5_1004;111_16_111;5
4hfhf 

verwendete Formeln
Zelle Formel Bereich N/A
H1:H4=WENNFEHLER(TEIL(G1;SUCHEN("1004_";G1)+5;1)*1;"")  
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 18.13 einschl. 64 Bit



Anzeige
AW: InStr und Len anwenden
23.09.2014 10:57:09
Halli
Hallo Hajo,
Danke für deine schnelle Antwort!
Das funktioniert :) Allerdings habe ich zwei Probleme
- nur ganze Zahlen werden angezeigt (also z.B. nicht 0,3 in der Zeichenfolge 1004_0,3_1004)
- die ID (also 1004) soll ja variabel sein und durch den Benutzer eingegeben werden, wie kann ich das ohne Makro hinterlegen ohne die Zahl in einer Zelle hinterlegen zu müssen
Viele Grüße

AW: InStr und Len anwenden
23.09.2014 11:04:45
Hajo_Zi
ich erstelle die Lösung für das was im Beitrag steht und da Stand nichts von Komma Zahl, Die Zahl bestand nur aus einer Ziffer.
Das ist jetzt eine andere Aufgabe.
Gruß Hajo

Anzeige
AW: InStr und Len anwenden
23.09.2014 11:06:51
Peter
Hallo
Ein kleiner Demo-Code
Sub FindString()
Dim myID As String
Dim myString As String
Dim myValue As String
Dim a, e As Integer
myID = "1004"
myString = "1000_100_1000;1001_2,7_1001;1002_8_1002;1003_1,7_1003;1004_0,4_1004;"
a = InStr(1, myString, myID & "_", vbTextCompare)
If a > 0 Then 'ID gefunden
a = a + Len(myID) + 1
e = InStr(a, myString, "_" & myID, vbTextCompare)
myValue = Mid(myString, a, e - a)
Debug.Print myValue
End If
End Sub

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige