【问题标题】:Dynamic Named Range with Moving Data Below动态命名范围,下方有移动数据
【发布时间】:2017-10-03 19:52:44
【问题描述】:

我正在尝试创建可用于数据验证列表的动态命名范围。我一直使用这些,但在这种情况下,我的信息位于范围以下,无法计入该范围。另外,我有一个宏,可以在这个范围内插入需要计算的行。

如果列中没有其他内容,我通常会使用类似的内容:=OFFSET($A$1,0,0,COUNTA($A:$A),1)

我需要在页面下方开始这个,所以我使用了: =OFFSET($A$24,0,0,COUNTA($A$24:$A24),1)

请注意,我已经删除了公式中最后一个“24”之前的“$”,希望它会相应地扩展,但这似乎并不一致。

基本上,我需要 COUNTA 范围来仅包含始终会增长和缩小的单元格范围。

我在 VBA 方面还不错,我愿意接受一种解决方案,该解决方案可能包括遍历一系列单元格并在到达值等于某个文本字符串的单元格时停止(在这种情况下为 .Value = "请求 1")。但我对提供表单或 ActiveX 控件有点担心,因为这在过去给我带来了查看和打印功能的问题。

【问题讨论】:

    标签: vba validation dynamic while-loop named-ranges


    【解决方案1】:

    我使用以下代码在工作簿的其他地方创建了一个范围,然后我可以轻松地使用它来创建动态命名范围:

    Sub UpdateEntities()
    
    Dim i As Long, x As Long
    
    i = 24
    x = 1
    
    Sheets("Values").Range("AH:AH").ClearContents
    
    Do While Cells(i, 1).Value <> "REQUEST 1"
    
    Cells(i, 1).Select
    
    If ActiveCell.Value <> "" Then
    Sheets("Values").Cells(x, 34).Value = ActiveCell.Value
    i = i + 1
    x = x + 1
    Else
    i = i + 1
    End If
    
    Loop
    
    End Sub
    

    【讨论】:

      猜你喜欢
      • 2015-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多