MACRO VBA – “运行时错误”1004“应用程序定义的或对象定义的错误”
嗨,任何人都可以找出为什么我得到这个消息..
运行时错误“1004”应用程序定义或对象定义的错误
这是我的代码,问题行似乎是:
range("A1").Select
这里是其余的代码:
Sub HorizontalLoop() Dim lCol As Long Sheets("output").Select For lCol = 1 To 100 Dim inputrange As String If Not IsEmpty(Cells(lCol).Value) Then inputrange = Cells(1, lCol).Value ActiveCell.EntireColumn.Select Selection.Copy Sheets("input").Select range("A1").Select ActiveSheet.Paste Sheets("output").Select End If Next lCol End Sub
先谢谢你 :)
假设单元格A13是工作表输出中的“活动”单元格,请参阅下面的代码
worksheets("output").Range("A13").Activate ActiveCell.EntireColumn.Copy Worksheets("input").Range("A1")
它会复制整个列并将其粘贴到工作表input
您需要使用工作表名称来限定Range("A1")
(如Paul Ogilvie的评论中所述。
但是你不需要在工作表之间来回切换来粘贴。 在“复制”之后,您可以添加“目的地”。
我做了一个你的代码(只有2列)的减less版本,所以你可以看到我的意思:
Sub HorizontalLoop2() Dim lCol As Long Dim inputrange As String Dim wsO As Worksheet Dim wsI As Worksheet Set wsO = ThisWorkbook.Worksheets("output") Set wsI = ThisWorkbook.Worksheets("input") For lCol = 1 To 2 If Not IsEmpty(wsO.Cells(lCol).Value) Then inputrange = wsO.Cells(lCol).Value wsO.Columns(lCol).Copy _ Destination:=wsI.Cells(1, lCol) End If Next lCol End Sub
这当然假设你想粘贴到相同的列号!