从单元格内容定义范围选择

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”后面?

Office表中如何把一定范围单元格的内容多列数据去除空值以TXT文本方式导出?

Excel如何合并多个单元格内容到一个单元格?

POI设置单元格内容下拉框选择和单元格提示功能

POI设置单元格内容下拉框选择和单元格提示功能

从集合 1 更新集合中的单元格内容