【问题标题】:Selecting dynamic range选择动态范围
【发布时间】:2016-09-09 12:52:19
【问题描述】:

是否可以使用 excel 动态选择单元格? 我很想知道如何制作一个可以做到这一点的宏。 我希望它根据其他单元格的值选择某些单元格。例如,我想选择 A1 到 A20。我想通过简单地在一个单元格中输入 1 并在另一个单元格中输入 20 来做到这一点。

我在 vba 中试过这段代码

Dim 示例作为范围 设置示例 = range ("A1:A20")

示例。选择。

它有效,但我希望 A1 和 A20 是可变的,所以我可以选择不同的范围

这可能吗?如果不是,最接近它的东西是什么?非常感谢!

【问题讨论】:

  • 在单元格 A1 上方有一个Name Box,它显示当前选定单元格的地址。如果您在其中键入A1:A20,它将选择这些单元格,同样,如果您有一个命名范围并在该框中输入名称,它将选择该单元格范围。

标签: excel vba


【解决方案1】:

我假设开始行在 B1,结束行在 B2。

Set example = Range(Cells(Cells(1, 2).Value, 1), Cells(Cells(2, 2).Value, 1))

【讨论】:

    【解决方案2】:

    听起来您应该在该工作表中有两个单元格作为您的控件。因此,您可以将“A1”作为起始单元格放在一个单元格中,将“A20”作为另一个单元格中的结束单元格。让我们分别把它们放在C1和D1中。

    Option Explicit
    Sub MoveDataRange()
        Dim startCell As String, endCell As String
        startCell = Range("C1").Value
        endCell = Range("D1").Value
        Range(startCell, endCell).Select
        ...
    End Sub
    

    如果您希望 C1 和 D1 中的值是动态的,则必须在其中放置一个公式才能做到这一点。如果您同意手动更改它,我会用不同的颜色突出显示它们以引起对宏依赖的注意。

    【讨论】:

      猜你喜欢
      • 2021-04-29
      • 1970-01-01
      • 2014-03-04
      • 1970-01-01
      • 1970-01-01
      • 2012-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多