Sel*_*rac 2 excel vba excel-vba
我正在尝试粘贴我之前复制的一些值,但是我正在丢失数据,因为我事先正在清理目标单元格.
这是代码的示例:
Range("A1:B3").Select
Selection.Copy
Range("C1:D3").Select
Selection.ClearContents 'At this point the clipboard is cleared
Range("C1").Select
ActiveSheet.Paste 'I get an error here as the clipboard has been cleared
Run Code Online (Sandbox Code Playgroud)
考虑到我不能先清除内容,有没有办法存储Range("A1:B3")的内容,以便我以后可以粘贴它?
显而易见的答案是:按其他顺序执行.也没有必要使用Select
Range("C1:D3").ClearContents
Range("A1:B3").Copy Range("C1")
Run Code Online (Sandbox Code Playgroud)
此外,您应该尝试完全限定您的范围.也就是说,确切地说这些范围的位置.
With ThisWorkbook.Worksheets("Sheet1")
.Range("C1:D3").ClearContents
.Range("A1:B3").Copy .Range("C1")
End With
Run Code Online (Sandbox Code Playgroud)
如果出于某种原因(?),您只能在...之后清除内容.您可以将值存储在这样的变量中
With ThisWorkbook.Worksheets("Sheet1")
Dim v as Variant
v = .Range("A1:B3").Value
.Range("C1:D3").ClearContents
.Range("C1:D3").Value = v
End With
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2728 次 |
| 最近记录: |