Ran?

时间:2016-07-03 22:25:20

标签: excel vba excel-vba

我正在尝试复制信息区域并特殊粘贴值。通过更改for循环结束时的特定单元格值,我还会更改其周围区域中的信息。因此,我试图循环这462次并特别粘贴不同工作表上的每个区域,并且每个区域将粘贴在低于先前粘贴的行上(从第2行开始)。但是,当我实际运行该程序时,绝对没有任何反应。任何人都可以帮忙吗?

非常感谢,代码粘贴在下面:

Sub timeToLoop()
Dim currentVal As Integer, count As Integer, countStr As String, i As Integer
count = 1
    For i = 1 To i = 462
        count = count + 1
        countStr = CStr(count)
        currentVal = Range("V34").Value
        Worksheets("Query_Tab").Range("V34:BQ34").Copy
            With Worksheets("Compiled")
                .Range(.Cells(countStr, "A"), _
                   .Cells(countStr, "AV")).PasteSpecial xlValues
            End With
        Worksheets("Query_Tab").Range("V34").Value = currentVal + 1
    Next i
End Sub

2 个答案:

答案 0 :(得分:1)

您的问题出现在For循环中,它应该是:

For i = 1 To 462

还有其他小问题/提示。

  • 行/列计数器的类型为
  • 无需使用countStr
  • 取决于 V34:BQ34 的格式设置,您只需在Range("V34:BQ34").Copy之后指定目标范围,例如Range("A1:A10").Copy Range("B1:B10")
  • 您可以在Range()方法中使用字符串连接。例如Range("A" & count & ":" & "AV" & count)

答案 1 :(得分:1)

您错过了参考

  

currentVal =范围(“V34”)。值

应参考

  

currentVal =工作表(“Query_Tab”)。范围(“V34”)。值

我同意帕特里克。你真的过于复杂了。

*http.Request