【问题标题】:Using cell value as range VBA使用单元格值作为范围 VBA
【发布时间】:2014-01-10 01:02:49
【问题描述】:

我正在尝试从单元格中提取一个范围(称为“A5:L10”)。换句话说,我的代码类似于下面的代码:

  Dim summ_rng1 As String
  summ_rng1 = Sheet11.Cells(17, 3).Value

  Workbooks(wb).Sheets(summ).Range(summ_rng1).......

其中 summ_rng1 = "A5:L10"

我在我的代码中对工作簿和工作表做了同样的事情,它工作正常,但是当我尝试用变量 summ_rng1 替换范围引用时它不起作用。

关于如何让代码以范围值作为变量运行的任何想法,就像上面那样?谢谢您的帮助!

【问题讨论】:

  • 这应该可以。你确定要责怪summ_rng1 变量吗?
  • Sheet11 上的 C17 单元格中有什么内容?它应该是 A5:L10 不带引号(不是 "A5:L10"
  • 我正在处理多个工作簿,不小心在不同的 excel 实例中打开了一个,这也恰好是我需要在该行中引用的那个。很抱歉浪费您的时间,现在可以使用了!

标签: vba excel


【解决方案1】:

您的代码对我有用。我认为它与您的 wb 对象有关,该对象可能包含工作簿本身,而不是工作簿的名称。试试这个:

Sub testSub()
Dim myRange As String
Dim wb As Workbook
Set wb = ThisWorkbook

myRange = wb.Sheets(1).Cells(1, 1)

wb.Sheets(1).Range(myRange).Select
End Sub

【讨论】:

  • 我修好了,见我上面的评论。不过感谢您的帮助!
猜你喜欢
  • 2016-03-16
  • 2020-02-09
  • 2016-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-28
相关资源
最近更新 更多