Wb.Sheets(G).UsedRange.Copy.Cells(.Range("B65536").End(xlUp).Row 1, 1) 编译错误:缺少= 大神求指导!!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这段代码看起来像是VBA(Visual Basic for Applications)在Excel中的宏命令,用于复制一个工作表(Sheet)的已使用范围(UsedRange)并粘贴到另一个指定位置。你遇到的“编译错误:缺少=”问题,通常意味着语法结构不完整或有误。
根据你的代码片段,我推测你想实现的功能是找到B列最后一个非空单元格的下一行,然后将G
表的已使用范围复制到该位置开始的第一列。这里的问题在于.Range("B65536").End(xlUp).Row 1, 1)
部分的表述不正确。应该修正为确定目标行后再进行偏移操作。正确的修改方式如下:
With ActiveSheet ' 或者指定的sheet名称,比如 Sheets("目标工作表名")
Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)
End With
这里的修改包括: 1. 使用With
语句明确操作的工作表范围,假设你想把数据复制到当前活动工作表(ActiveSheet
),或者你可以替换为具体的表名如Sheets("Sheet1")
。 2. End(xlUp)
会找到B列最末尾的非空单元格,然后.Row
获取其行号,之后+ 1
表示在该非空单元格的下一行开始粘贴。 3. 去掉了多余的, 1)
,因为在.Cells(row, column)
中,只需要指定行和列的数字即可,没有其他逗号分隔的参数。
请确保在尝试此代码前,已经定义了Wb
变量指向正确的Workbook对象,并且根据实际情况调整工作表名称。如果是在特定的VBA编辑环境下,还需要确保相关的引用库已经加载,特别是Excel Object Library。