【问题标题】:VBA use range with variableVBA 使用范围与变量
【发布时间】:2016-11-18 12:51:14
【问题描述】:

我想复制一系列表格并将其粘贴到新工作簿中。 A 列总是被复制。除此之外,我想复制由其他列组成的其他范围,但作为变量。比如添加到A列,我复制C列和E列。我尝试了几种方法,但我没有得到它!这是我写的:

Sub Macro3()
Dim col1 As String
Dim copyrange1 As String
Dim copyrange2 As String
col1 = InputBox("first columns:")
copyrange1 = col1 & ":" & col1
col2 = InputBox("second columns:")
copyrange2 = col2 & ":" & col2
Range("A:A,copyrange1,copyrange2").Select
'Range("H2").Activate
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
'Range("E5").Select
Windows("Pedro.xlsm").Activate
End Sub

kann你帮我解决一下好吗?非常感谢!

【问题讨论】:

  • 您输入的列是字母还是数字?
  • 就像字母一样。 col1 和 col2 作为字符串。最后我得到例如 copyrange1 = C:C
  • 您需要从 Select 行的引号中删除 copyrange1 和 copyrange2。

标签: vba excel


【解决方案1】:

这应该对你有用,注意它只复制你输入的列...例如 - 输入 C 和 E 只复制 A、C、E。如果输入 C 和 E,它不会复制 C、D 和 E。

Sub Macro3()
Dim col1 As String, col2 as String
Dim copyrange1 As Range, copyrange2 As Range, CopyRange3 As Range
col1 = InputBox("first columns:")
col1 = col1 & ":" & col1
Set copyrange1 = Range(col1)
col2 = InputBox("second columns:")
col2 = col2 & ":" & col2
Set copyrange2 = Range(col2)
Set CopyRange3 = Union([A:A], copyrange1, copyrange2)
CopyRange3.Copy
'Range("H2").Activate
'Selection.Copy
Workbooks.Add
ActiveSheet.Paste
'Range("E5").Select
Windows("Pedro.xlsm").Activate
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-07
    • 1970-01-01
    相关资源
    最近更新 更多