【发布时间】:2016-03-31 17:26:51
【问题描述】:
大家又是我。我正在尝试拉各种字符串并将字符串放在单独的字段中。我似乎无法让我的代码工作,我希望有人能在我有缺陷的尝试中有所启发。非常感谢。
我的“B”列包含多个名称,格式如下:
B C D
Other Team teamOne teamTwo
/jdoe/smithjr/
/someguy/testuser/
/obiwan/luke/darth
/vader/
/hp/dell/lenova/mint/
我只需要取前两个名字,一个名字放在一个字段,一个名字放在另一个字段。
预期结果
B C D
Other Team teamOne teamTwo
/jdoe/smithjr/ jdoe smithjr
/someguy/testuser/ someguy testuser
/obiwan/luke/darth obiwan luke
/vader/ vader
/hp/dell/lenova/mint/ hp dell
到目前为止我想出的代码如下,但不起作用。我收到没有数据可替换的错误。
For Q = 2 To 10
If UCase(Cells(Q, "B").Value) Like "*Other Team*" Then
Name = Cells(Q, "B").Value
startingPosition = InStr(Name, "/")
Firstname = Left(Name, (startingPosition) - 1)
secondName = Right(Name, startingPosition - 2)
Cells(Q, "C").Value = Firstname
Cells(Q, "D").Value = secondName
End If
Next Q
我对 VBA 很陌生(第 3 天),似乎无法弄清楚如何解析这些数据。也许有人可以解释我做错了什么并帮助我?谢谢。
【问题讨论】:
-
如果
Cells(Q, "C").Value = Firstname和Cells(Q, "D").Value = secondName命令在“C”和“D”中留下“/”字符,那很好,因为我计划从“C”行中删除所有这些字符然后是“D”。 -
嗯,我会在开车回家的路上思考这个问题,然后在家里继续这个问题。
-
提示 2:
instr接受 3 个参数。 -
第一天使用
instr。 VBA 有相当长的学习曲线(至少对我而言)哈哈。 -
忘记 Instr 并使用 Split function。