【问题标题】:Define range selection from cell content从单元格内容定义范围选择
【发布时间】:2016-12-09 08:33:39
【问题描述】:

我想根据单元格中包含的值定义和复制一系列单元格。

如果单元格 W2 包含条目“B6:B12”,则代码将选择该范围并将内容复制到 X 列

Sub RangeSel()
Dim rng As Range
Dim Sel As String

Sel = Range("W2").Value
Set rng = Range("Sel").Copy(Range(Range("X2"), Range("X2").End(xlDown)))


End Sub

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    你的描述有点神秘。类似的东西?

    Sub RangeSel()
    Dim rng As Range
    Dim Sel As String
    
        Sel = Range("W2").Value
        Set rng = Range(Sel)
        rng.Copy
        Range(Range("X2"), Range("X2").End(xlDown)).PasteSpecial xlPasteAll
    
    End Sub
    

    【讨论】:

    • 感谢,并为模糊的描述道歉。这正是我想要的!
    【解决方案2】:

    这是你要找的吗?

    Sub RangeSel()
        Dim rng As Range
        Dim Sel As String
    
        Sel = Range("W2").Value
        Set rng = Range(Sel)
    
        rng.Copy
    
        Range("X2").PasteSpecial
    
    End Sub
    

    你试图同时设置范围和复制,不起作用

    【讨论】:

      【解决方案3】:

      如果你想复制>>粘贴(不使用PasteSpecial)那么你可以用1行代码来完成,见下文:

      Sub RangeSel()
      
      Dim rng As Range
      Dim Sel As String
      
      Sel = Range("W2").Value
      Set rng = Range(Sel)
      
      ' optional : make sure there is a valid range
      If Not rng Is Nothing Then
          rng.Copy Destination:=Range("X2")  ' copy>>paste in 1 line, paste at column X second row
      End If
      
      End Sub
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-07
        相关资源
        最近更新 更多