excel - 为什么复制/粘贴与复制粘贴特殊有不同的编码?
问题描述
这是一些VBA代码
Set L060 = Workbooks("L060.xlsx").Worksheets("Sheet1")
Set wsDest = Workbooks("Variation_week" & WeekFolder & ".xlsm").Worksheets("RM consumption")
SelectionL060 = L060.Cells(L060.Rows.Count, "A").End(xlUp).Row
Adestination = wsDest.Cells(wsDest.Rows.Count, "A").End(xlUp).Offset(2).Row
L090.Range("A2:M" & SelectionL060).Copy _
wsDest.Range("A" & Adestination)
Workbooks("L060.xlsx").Close SaveChanges:=False
L060.Range("A2:M" & SelectionL060).Copy _ wsDest.Range("A" & Adestination)
如果您不在Copy
and之间添加下划线,为什么不起作用wsDest
?其实不加的话,中间会自动出现一个空格,Range
导致("A" & Adestination)
代码失效。
而L060.Range("A2:M" & SelectionL060).Copy wsDest.Range("A" & Adestination).PasteSpecial Paste:=xlPasteValue
没有任何下划线工作正常?
解决方案
下划线只是一个续行字符,意味着下一行实际上仍然是初始行的一部分。所以这:
L090.Range("A2:M" & SelectionL060).Copy _
wsDest.Range("A" & Adestination)
与此相同:
L090.Range("A2:M" & SelectionL060).Copy wsDest.Range("A" & Adestination)
其中目标范围是传递给Copy
方法的参数。当您使用它们时Copy
,PasteSpecial
它们实际上是两个独立的命令,这就是它们位于不同行的原因。
推荐阅读
- rabbitmq - RabbitMQ 服务器配置为不同消费者服务多个同名队列
- java - 通过 Java 在单独的账户中从 lamba 调用 AWS lambda
- php - 在 Laravel 8.x 中循环嵌套注释
- reactjs - 使用反应路由器时,如何在 iframe 中使用反应应用程序提供静态 html 文件?
- python - 运行python模块时如何附加到vscode调试器?
- java - java.lang.NoClassDefFoundError:无法初始化类 sun.security.provider.SecureRandom$SeederHolder
- java - 错误:访问被拒绝在 Android Studio 中找到属性“ro.serialno”
- javascript - v-bind:href 中的 vue.js 2.x HTML 实体
- openapi - 如何在 openAPI 中设置安全标头,以便使用 swagger 编辑器将其包含在所有请求中
- elasticsearch - 弹性搜索中的模糊性按字母而不是按单词搜索