2016-12-09 79 views
0

我想根据单元格中包含的值来定义和复制一系列单元格。定义单元格内容的范围选择

如果电池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 

回答

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 
+0

谢谢,并为模糊的描述道歉。这正是我所期待的! –

1

这是你在找什么?

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 

你试图设置一个范围,并在同一时间进行复制,不工作

1

如果你想复制粘贴>>(不使用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