【问题标题】:Paste value to a range of cells the user has selected, sometimes blanks in between cells将值粘贴到用户选择的单元格范围内,有时单元格之间为空白
【发布时间】:2017-10-24 21:50:34
【问题描述】:

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

这里是代码

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

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    我几乎不推荐这个,但如果你想将它粘贴到当前选择中,那么试试这个

    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
    

    屏幕截图

    【讨论】:

      猜你喜欢
      • 2019-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-25
      • 2021-10-06
      • 1970-01-01
      • 2017-02-06
      • 1970-01-01
      相关资源
      最近更新 更多