VBA文本到列只有一个元素
我在Excel电子表格中有这样的数据单元格:CZ15.cbt,411.00,“4/2/2015”,“2:30 pm”,+ 4.25,406.75,412.25,403.25,36155
我唯一感兴趣的是第二个元素,即411.00。 他们的方法是只复制这个值在另一个单元格?
到目前为止,我用这个代码:
Worksheets("Workspace").Range("A1").texttocolumns Destination:=Worksheets("Workspace").Range("A2"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _ Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1))
这将单元格中的所有元素相互复制,然后将第二个元素引用到结果工作表中。 问题是,现在我有多个单元相邻的原始9个元素,他们会覆盖对方。
另一个select是垂直复制9个元素,以使它们全部在同一列中。 无论哪个更容易…
非常感谢你! 斯特凡
使用分割() :
Sub Stefan() ary = Split(Worksheets("Workspace").Range("A1").Value, ",") Worksheets("Workspace").Range("B1") = ary(1) End Sub
这将创build一个数组,并且只使用第二个元素。
编辑#1:
为了做到这一点,我们使用一个循环:
Sub Stefan() For i = 1 To 6 ary = Split(Worksheets("Workspace").Range("A" & i).Value, ",") Worksheets("Workspace").Range("B" & i) = ary(1) Next i End Sub
一个公式可能适合:
=MID(A1,FIND(",",A1)+1,FIND(",",A1,FIND(",",A1)+1)-FIND(",",A1)-1)
中
找
FIND用来定位第一个逗号,也是第一个逗号后面的第一个逗号,然后分开它们的距离。 在这两个MID之间提取字符。