Excel 声明变量时,我的代码卡在中间-我是VBA新手

Excel 声明变量时,我的代码卡在中间-我是VBA新手,excel,vba,range,copydataset,Excel,Vba,Range,Copydataset,'我的代码是从打开的工作簿中的每个工作表复制数据,然后 粘贴在它的胶粘纸上 Sub CallData() 将公司文件作为工作表、复制作为范围、粘贴作为范围 设置文件=图纸(“主数据”) 设置CopyRg=ActiveSheet.UsedRange Set PasteRg=CorpFile.Cells(Rows.Count,1)。End(xlUp)。Row+1'它被固定在这里 对于此工作簿中的每张工作表 如果是ActiveSheet.Name CorpFile,则 复制粘贴 如果结束 下一页 端接

'我的代码是从打开的工作簿中的每个工作表复制数据,然后 粘贴在它的胶粘纸上

Sub CallData()
将公司文件作为工作表、复制作为范围、粘贴作为范围
设置文件=图纸(“主数据”)
设置CopyRg=ActiveSheet.UsedRange
Set PasteRg=CorpFile.Cells(Rows.Count,1)。End(xlUp)。Row+1'它被固定在这里
对于此工作簿中的每张工作表
如果是ActiveSheet.Name CorpFile,则
复制粘贴
如果结束
下一页
端接头
选项显式
子调用数据()
将公司文件标注为工作表,将图纸标注为工作表
Dim PasteRg As射程
Set CorpFile=ThisWorkbook.Sheets(“主数据”)
用于此工作簿中的每张工作表。工作表
如果是sheet.Name CorpFile.Name则
Set PasteRg=CorpFile.Cells(Rows.Count,1).End(xlUp).Offset(1)
sheet.UsedRange.Copy PasteRg
如果结束
下一页
端接头

看起来您可以将第二个
设置粘贴器移动到上一行上方,而不需要第一个
设置粘贴器
@Darren是的,这样会更聪明。我试图对原始代码进行最小的更改,因此
CorpFile.Cells(Rows.Count,1).End(xlUp).Row+1
的错误已被清除。非常感谢@cdp1802。。成功了。荣誉……)@AjitKumar请允许我说一句话:勾选绿色复选标记接受一个有用的答案(或多个答案中的首选答案)是很有用的,因此您告诉其他用户问题已经解决;c、 f。
Sub CallData()
            
        Dim CorpFile As Worksheet, CopyRg As Range, PasteRg As Range
        
        Set CorpFile = Sheets("MasterData")
        Set CopyRg = ActiveSheet.UsedRange
        Set PasteRg = CorpFile.Cells(Rows.Count, 1).End(xlUp).Row + 1 'it is stuck here
        
        For Each Sheet In ThisWorkbook
        
        If ActiveSheet.Name <> CorpFile Then
        
        CopyRg.Copy PasteRg
        
        End If
        
        Next Sheet
        
        End Sub