试图用多个variables分割单个单元格
我有非微软的文件,沿着看线:
>gibberish that changes AAARRGGGHHHH
现在,我有一个代码来创build一个新的.xlsx文件来分割使用尝试转换文件,同时保留旧名称 。
但是,我希望“A2”单元格内容与每个单独的字母分配一个单元格,然后删除以前的内容。 我不介意这是否结束在A3到AZ。
因此,上面的例子我想转换成它看起来像:
>gibberish that changes AAARRGGGHHHH
澄清“改变的胡言乱语”是不是一个常数,它改变每个文件我有什么是在这里表示。 第二行也是如此。
基于拆分单元格string到单个单元格
我试过这个代码:
Dim sVar1 as string Dim sVar2 as string I = InStr(1, strX, "A" & "R" & "G" & "H") sVar1 = mid(strX, 1, I) sVar2 = mid(strx,i+1)
但是,这不会产生任何结果。 它不会导致macros失败(因为我没有得到任何错误信息,而macros的其余部分工作(将文件更改为另一种格式并更改名称),但它什么也没有做。我想使用string因为文件A2中内容和顺序的文件不断变化。
我也没有真正的分界符,就像ARRGHHHH被写成一个词一样,是否导致这个问题呢?
这将parsingA2到它的字符,并放置在A2旁边的字符,每个在自己的单元格:
Sub dural() With Range("A2") v = .Value L = Len(v) For i = 1 To L .Offset(0, i).Value = Mid(v, i, 1) Next i End With End Sub
编辑#1:
这将处理一系列input单元格和清除原始input数据。 之前:
新的macros观:
Sub dural2() Dim rng As Range, r As Range, v As Variant Dim L As Long, i As Long Set rng = Range("A2:A40") For Each r In rng v = r.Value L = Len(v) For i = 1 To L r.Offset(0, i - 1).Value = Mid(v, i, 1) Next i Next r End Sub
结果:
我的0.02与Character
对象
Sub main() With Range("A2") For i = 1 To Len(.Value) .Offset(, i) = .Characters(i, 1).Text Next i End With End Sub
这会有所帮助吗?
Sub Test() Dim i As Integer Dim num As Integer num = Len(Range("A1")) For i = 1 To num Debug.Print Mid(Range("A1"), i, 1) Next End Sub
尝试这个。
Sub dural() With Range("A2") v = .Value L = Len(v) For i = 0 To L - 1 If i = 0 Then .Offset(0, i).Value = Left(v, 1) Else .Offset(0, i).Value = Mid(v, i, 1) End If Next i End With End Sub
input
产量