为什么VBA中paste命令不管用?

来源:百度知道 编辑:UC知道 时间:2024/06/27 13:58:57
Sub Macro3() '

MyPath = "H:\2\"
myfile = Dir(MyPath & "*.xls")
Do While myfile <> ""
Workbooks.Open Filename:=MyPath & myfile
Range("A2").Select
Range("A2:B4019").Select
Selection.Cut
Range("C2").Select
ActiveSheet.Paste
Range("A2").Select
ActiveCell.FormulaR1C1 = "1/1/1990"
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A3653"), Type:=xlFillDefault
Range("A2:A3653").Select
Range("C2").Select
Range("C2:D4019").Select
Application.CutCopyMode = False
Selection.Cut
Range("A3654").Select
ActiveSheet.Paste
Range("A1").Select
ActiveWorkbook.SaveAs Filename:=MyPath & Left(myfile, Len(myfile) - 4), FileFormat _
:=xlDBF4, CreateBa

paste 不行的话可以试试 pastespecil
Workbooks.Open Filename:=MyPath & myfile
可以试试
set as=activesheet
set ws=Workbooks.Open Filename:=MyPath & myfile
然后在引用前加上as. 和 ws.

应该范围不一样所致,你将这类代码改成这样试一下
Range("C2").Select
ActiveSheet.Paste

改为

Range("C2").Paste

上面是录制宏的吗,其实好多代码是可以简化的

把宏放到thisworkbook里面试试。

先选range("C2").Select
selection.paste