【问题标题】:Copy and Paste using Input Box in Excel 2010 - VBA在 Excel 2010 中使用输入框复制和粘贴 - VBA
【发布时间】:2013-02-04 17:09:12
【问题描述】:

需要帮助。我是 VBA 的新手,并试图从简单的宏开始。 但即使失败得很惨。 我要做的就是使用输入框从一个工作表复制并粘贴到另一个工作表以指定要复制的范围。 现在我知道输入框是:

Application.InputBox("Enter the range from which you want to copy : ", Type:=8)

但是我需要什么行才能复制到另一个工作表中的单元格?

我为自己是个白痴提前道歉。

【问题讨论】:

  • range("A1").copy range("A2")(这会将 A1 复制到 A2)
  • 感谢肖恩的回复。这不会将 A1 中的内容复制到 A2 中吗?我需要的是一个允许我使用输入框指定范围的宏。但是我需要将指定的范围复制到另一个工作表。在这种情况下,工作表称为“每周原始”

标签: vba excel excel-2010


【解决方案1】:

这是你正在尝试的吗?

Option Explicit

Sub Sample()
    Dim rngCopyFrom As Range

    On Error Resume Next
    Set rngCopyFrom = Application.InputBox("Enter the range from which you want to copy", Type:=8)
    On Error GoTo 0

    If Not rngCopyFrom Is Nothing Then
        '~~> Copy the range to say Cell A1 of Sheets("weekly raw")
        rngCopyFrom.Copy ThisWorkbook.Sheets("weekly raw").Range("A1")
    End If
End Sub

【讨论】:

  • 谢谢悉达多。是的,这就是我所需要的。
【解决方案2】:

一种方法是这样的:

Sub CopyRange()
    Dim FromRange As Range
    Dim ToRange As Range

    Set FromRange = Application.InputBox("Enter the range from which you want to copy : ", Type:=8)
    Set ToRange = Application.InputBox("Enter the range to where you want to copy : ", Type:=8)

    FromRange.Copy ToRange
    'Or you can do it like this if you need some flexibility on Paste 
    'FromRange.Copy
    'ToRange.PasteSpecial xlPasteValues, xlPasteSpecialOperationNone
End Sub

【讨论】:

    【解决方案3】:

    这里有一些示例代码:

    Option Explicit
    
    Sub CopyStuff()
    
    Dim x As Range
    Dim y As Range
    
    Set x = Application.InputBox("Select what copy using the mouse", Type:=8)
    Set y = ActiveWorkbook.Sheets("Sheet2").Range("A1")
    
    x.Copy y
    
    End Sub
    

    【讨论】:

      猜你喜欢
      • 2017-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-02
      相关资源
      最近更新 更多