简单的VBA循环错误

时间:2014-12-02 16:19:15

标签: excel vba excel-vba

如果粘贴到Excel,我有一个文本文件,在A列中有很多行。 所以我想要excel进入桌面。 我试图制作一个简单的VBA循环系统,这使得表格就像我想要的那样。没有循环,代码将是非常错误的。 但问题是我不知道如何在每次循环后更换细胞。这是代码,我试过:

Sub 123()
Dim i As Integer
Dim ii As Integer
Dim u As Integer
i = 5
ii = 8
u = 5
Do Until i > 20
    Range("A,i:A,ii").Select
    Selection.Copy
    Range("B,u").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    i = i + 4
    ii = ii + 4
    u = u + 1
Loop
End Sub

我从一些指示中提出了解决方案。也许你可以帮我找到最简单的解决方案。 谢谢!

2 个答案:

答案 0 :(得分:2)

虽然我不确定你要解释的是什么,但下面突出显示的行会因为你在双引号中使用变量而导致错误:

Range("A,i:A,ii").Select

Range("B,u").Select

将它们更改为以下内容以连接值:

Range("A" & i & ":A" & ii).Select
Range("B" & u).Select

答案 1 :(得分:1)

你是说s.th.像这样?

Sub 123()
Dim i As Integer
Dim ii As Integer
Dim u As Integer
i = 5
ii = 8
u = 5
Do Until i > 20
    Range("A" & i & ":A" & ii).Select
    Selection.Copy
    Range("B" & u).Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    i = i + 4
    ii = ii + 4
    u = u + 1
Loop
End Sub

我认为这会奏效,但不是很好。