从单元格内容定义范围选择
Posted
技术标签:
【中文标题】从单元格内容定义范围选择【英文标题】: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
【问题讨论】:
【参考方案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
【讨论】:
以上是关于从单元格内容定义范围选择的主要内容,如果未能解决你的问题,请参考以下文章
Excel单元格内容包含指定单元格内容时,如何把“指定单元格2”复制到“单元格1”后面?