2

我想运行一个在多个选定单元格中复制日期的宏,有时它们是一个范围,但有时可能会选择单个单元格。所有单元格将位于同一列中。我录制了一个宏来执行此操作,但每次都复制到相同的范围或单元格中。我希望它复制到我选择的单元格中 - 每次都会有所不同。

这是代码

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
4

1 回答 1

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

如果您使用上述方法,请确保您进行了正确的错误处理。

或者使用 anInputBox()选择您的范围并将其粘贴到其中。看这个例子

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

截屏

在此处输入图像描述

于 2012-09-27T16:17:29.190 回答