我通過循環方法開發了一個腳本,將數據從一張紙複製到另一張,然後刷新第一個字段。除了一個問題,腳本運行良好。在第二張表格中,它應該找到列A中的最後一個非空白單元格(即'x')並且通過下一行的數據。問題在於它正在'x + 11'行中粘貼數據。將數據從一張紙複製到另一張時的問題
我需要幫助確定這是爲什麼發生。
請注意,這裏i = 11是因爲第10行中的數據是標題,所需數據從第11行開始。
這是我所作出的宏:
Option Explicit
Sub CopyPaste()
Dim i As Integer
Dim x As Long
Dim y As Long
Dim c As Range
i = 11
Do While Cells(i, 1).Value <> ""
'ActiveSheet.CopyPast
x = i
y = 0
For Each c In Worksheets("CDS").Range(Cells(x, 1), Cells(x, 11))
Worksheets("DataBank").Range("a10000").End(xlUp).Offset(x, y) = c
y = y + 1
x = 0
Next c
Application.CutCopyMode = False
i = i + 1
Loop
With Sheets("CDS")
Range("A11:K65").ClearContents
End With
End Sub
您的意思是'X = 1'而不是'X = i'?第一張x的 – 2014-10-10 12:22:17
x應該是我開始從第11行開始的範圍,但第二張應該用x = 0補償以超過列A中的第一個非空白單元中的數據@TonyDallimore – Vizzi 2014-10-10 12:42:19
只需在您的代碼中註釋。使用單字母變量(如x和y)時,要更難遵循。你也應該命名你正在使用的範圍。但我喜歡你使用'Option Explicit'。幹得好! – BradyK 2014-10-10 12:47:39