0

我是一名访问新手,试图使用 Instr 从文本字符串中选择数字数据。

 Instr ( [start], string_being_searched, string2, [compare] )
      [start] defaults to 1
      string_being_searched is [Source Key]
      string2 is a number, decimal and number between 0.0 and 9.9
      [compare] is optional and I do not think it applies here

我的问题是 string2,当我使用它时,它每次出现都返回一个 0

 Expr1: InStr([Source Key],'#.#') or, with double quotes 
 Expr1: InStr([Source Key],"#.#")

如果我指定一个诸如 1.4 或 3.2 之类的值,甚至是诸如 QJX 之类的文本值(甚至不是数字),它会返回指定的值,但我需要它来选择两个带有小数点的数字。

请你能帮忙,因为我真的被困住了。

谢谢

4

1 回答 1

1

您可能需要 VBA,具体取决于要发生的事情和字符串的结构。

你可以说:

If aString Like "*[0-9].[0-9]*"

Instr(aString,".")

但是您不能在 InStr 中使用通配符。

Val(aString)如果文本在数字之后,您可能会逃脱:

aString="12.3 lbs"
Val(aString) '' 12.3 

或者

Mid(aString,Instr(aString,".")-1,3)

否则,您将需要考虑在函数中逐个字符地拆分或循环字符串。

于 2013-03-20T20:08:46.010 回答