Erhalte den Wert zwischen den Klammern

8

Ich habe eine Spalte mit einigen Dingen, die wie folgt aussehen: V2397(+60)

Wie erhalte ich den Wert zwischen den Klammern? In diesem Fall +60 .

Die Zahl (und das Zeichen) vor den Klammern ist nicht standardisiert und auch nicht die Zahl zwischen den Klammern (sie kann 100, 10 -10 oder sogar 0 sein ...).

    
Andrei Ion 08.11.2011, 22:33
quelle

4 Antworten

11

VBA-Code:

%Vor%

Offensichtlich sollte cellValue von der Zelle gelesen werden.

Wenn die Zelle A1 einen dieser Werte hat, kann alternativ die folgende Formel verwendet werden, um den eingeschlossenen Wert in eine andere Zelle zu extrahieren:

%Vor%     
Andrew Cooper 08.11.2011, 22:38
quelle
4

Ich würde dafür einen regulären Ausdruck verwenden, da er leicht mit

umgehen kann
  • ein Fall ohne Übereinstimmung
  • mehrere Übereinstimmungen in einer Zeichenfolge, falls erforderlich
  • komplexere Übereinstimmungen, wenn Ihre Parsing-Anforderungen sich weiterentwickeln müssen

Die Test sub führt drei Beispielstring-Tests durch

Der folgende Code verwendet eine UDF, die Sie auch direkt in Excel aufrufen können, zB = GetParen(A10)

%Vor%     
brettdj 09.11.2011 06:16
quelle
1

Verwenden Sie InStr , um den Index des offenen Klammer-Zeichens und des Klammer-Zeichens zu erhalten. Verwenden Sie dann Mid , um die gewünschte Teilzeichenfolge abzurufen.

Die Verwendung von InStr$ und Mid$ funktioniert besser, wenn die Parameter keine Varianten sind.

    
phoog 08.11.2011 22:40
quelle
0

Danke an Andrew Cooper für seine Antwort.

Für alle, die interessiert sind, habe ich eine Funktion eingebaut ...

%Vor%

Um

zu verwenden %Vor%     
Paul Buitenhuis 19.06.2017 00:58
quelle

Tags und Links