【发布时间】:2017-11-28 19:50:08
【问题描述】:
我正在尝试创建一个循环来逐一复制源工作表中单元格中的数据并粘贴到目标工作表中的特定单元格中。粘贴单元格后,我需要它保存文件的副本,然后将下一个值粘贴到源工作表中。代码是:
Private Sub CommandButton1_Click()
Dim wbTarget As Worksheet
Dim wbSource As Worksheet
Dim SaveLoc As String
Dim FName As String
Dim i As Long
Set wbSource = Sheets("Sheet3")
Set wbTarget = Sheets("Sheet1")
wbSource.Activate
Range("A1").Activate
Do While ActiveCell.Value <> ""
DoEvents
ActiveCell.Copy
For i = 1 To 30
wbTarget.Activate
With ActiveSheet
wbTarget.Range("E5").Select
Selection.PasteSpecial Paste:=xlPasteColumnWidths
Selection.PasteSpecial Paste:=xlPasteValues
ThisWorkbook.Save
Application.CutCopyMode = False
End With
SaveLoc = "H:\Services\Test Output\Term_"
FName = Range("B5")
ActiveWorkbook.SaveCopyAs FileName:=SaveLoc & FName & ".xls" 'FileFormat:=xlNormal
Application.DisplayAlerts = False
Next i
wbSource.Select
ActiveCell.Offset(1, 0).Activate
Loop
Application.ScreenUpdating = True
End Sub
当我运行它时,我得到一个
运行时错误 1004。
请告知如何解决此问题。
提前谢谢你。
【问题讨论】:
-
看到这个,可能有很多原因...stackoverflow.com/questions/17980854/…
标签: vba excel copy-paste paste