在excel-vba中使用细胞,范围,Rows.count和xlup的分割函数
这个代码能工作吗?
lr = RD.Cells(Rows.Count, 8).End(xlUp).Row wArray() = Split(RD.Range(Cells(2, 8), Cells(Rows.Count, 8).End(xlUp).Row)) RD.Cells(2, 8).Value = wArray(0) RD.Cells(2, 9).Value = wArray(1)
我希望代码遍历范围中的每个单元格,并将该范围内的数据拆分,并将第二个string放在其旁边的单元格中。 例如,我有一个A1:A15
单元格范围,其单元格值为“01/01/2015 09:43 GMT”,在运行代码之后,我预计“01/01/2015”将保持在范围A1:A15,而“09:43”将移动到单元格范围B1:B15
。 我已经通过在Split(RD.Cells)
函数上定义单个单元格来尝试相同的代码,并且它工作得非常好。 现在我需要它继续下一行,只要该行有一个input。
你是否想要循环遍历所有的行而不是只有一行? 如果是这样,你可以试试这个。
lr = RD.Cells(Rows.Count, 8).End(xlUp).Row For i = 2 to lr wArray() = Split(RD.Range(Cells(i, 8)) RD.Cells(i, 8).Value = wArray(0) RD.Cells(i, 9).Value = wArray(1) Next i
不使用循环
With RD.UsedRange .Columns(1).TextToColumns Destination:=.Cells(1), DataType:=xlFixedWidth, _ FieldInfo:=Array(Array(0, 1), Array(11, 1)) End With