错过了简单循环中的东西

Ilv*_*tan 2 excel vba loops excel-vba

我在一张纸上有一系列单元格,我希望在另一张纸上复印n次:对于n = 4,我可以:

Input (Sheet1)              Output (Sheet2)
 ABC                           ABC
 DEF                           ABC
 GHI                           ABC
                               ABC
                               DEF
                               DEF
                               DEF
                               DEF
                               GHI
                               GHI
                               GHI
                               GHI
Run Code Online (Sandbox Code Playgroud)

我做的只是:

Sub REPLICATE()
  Dim i As Integer
  Dim j As Integer
  Dim TEMP As String

  For i = 1 To 400
    TEMP = Workbooks("Libro1").Sheets("Hoja1").Cell(i, 1).Value
      For j = 1 To 4
        Workbooks("Libro1").Sheets("Hoja2").Cell(j, 1) = TEMP
      Next j
  Next i
End Sub
Run Code Online (Sandbox Code Playgroud)

我得到了错误438.我认为问题可能是我使用字符串,但我在Sheet1中尝试使用简单的Integer,我遇到了同样的问题.谢谢你的建议.

SJR*_*SJR 5

事实Cells并非如此Cell.在任何情况下,您的代码将无法工作,因为它将覆盖(j每次重新启动1).试试这个(调整表格参考以适应).

Sub REPLICATE()

Dim i As Long

For i = 1 To Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
    Sheets("Sheet2").Cells(Rows.Count, 1).End(xlUp)(2).Resize(4).Value = Sheet1.Cells(i, 1).Value
Next i

End Sub
Run Code Online (Sandbox Code Playgroud)