我想运行一个在多个选定单元格中复制日期的宏,有时它们是一个范围,但有时可能会选择单个单元格。所有单元格都在同一列中。我录制了一个执行此操作的宏,但每次都复制在相同的范围或单元格中。我想将它复制到我选择的单元格中 - 每次都会有所不同。
这是代码
Macro1 Macro
' Test copy range
'
' Keyboard Shortcut: Ctrl+e
'
Range("$AD$10").Select
Selection.Copy
Range("C10").Select
ActiveWindow.SmallScroll Down:=7
Range("C10,C12,C16:C21").Select
Range("C16").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
答案 0 :(得分:5)
我几乎不推荐这个,但是如果你想把它粘贴在当前的选择中,那么试试这个
Option Explicit
Sub Sample()
With Sheets("Sheet1")
.Range("$AD$10").Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End With
End Sub
如果您使用上述方法,请确保您正确处理错误。
或者使用InputBox()
选择您的范围并将其粘贴到其中。见这个例子
Option Explicit
Sub Sample()
Dim Ret As Range
With Sheets("Sheet1")
On Error Resume Next
Set Ret = Application.InputBox(Prompt:="Please select a range where you want to paste", Type:=8)
On Error GoTo 0
If Not Ret Is Nothing Then
.Range("$AD$10").Copy
Ret.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End If
End With
End Sub
<强> SCREENSHOT 强>