写入命名范围内的最后一个单元格
Write to last cell in named range
我一直在查看 online/here,我能找到的所有内容都只与完整的 sheet 有关,而不是作为 sheet 的一部分的范围。
我有一个代码,它将采用命名范围 "ARange",并搜索任何出现的 "AValue"
如果 "AValue" 不在范围内,那么它将扩展范围以允许空间插入 "AValue"
我 运行 遇到的问题是,在扩展范围后,我不确定如何将 "AValue" 插入到范围的最后一个单元格中。这可以通过 ARange 中的另一个 For Each Cell 来完成,我将把它作为最后的手段。
请注意。 ARange 只是一个示例名称。我希望能够在几个不同的范围内做到这一点。所有 1 列宽。有的从第 1 行开始,有的从第 2 行开始,有的从第 20 行开始,等等
有什么简单的方法可以表达以下内容吗?
LastCell("ARange").Value = TextBox1.Value
谢谢大家!
考虑到 ARange 只有一列宽:
Sub xTendIt()
Dim ARange As Range, AValue As String
'
'this is an example
'
AValue = "X"
Set ARange = Range("B9:B23")
'
'this is a general extender
'
Set ARange = ARange.Resize(ARange.Rows.Count + 1, 1)
ARange(ARange.Count) = AValue
End Sub
或使用TextBox1.Value
如果您的 命名范围 已定义为 指的是: 使用的公式类似于
=OFFSET(Sheet1!$A, 0, 0, COUNTA(Sheet1!$A:$A, 1)
... 或
的非易失性等价物
=Sheet1!$A:INDEX(Sheet1!$A:$A, MATCH("zzz", Sheet1!$A:$A)) ◄ for text
=Sheet1!$A:INDEX(Sheet1!$A:$A, MATCH(1e99, Sheet1!$A:$A)) ◄ for numbers
...那么您只需在范围下方的第一个空白单元格中设置值,一旦设置了值,范围的 *指:将调整以包含它。
With Range("my_Named_Range")
.Cells(.Cells.Count).Offset(1) = "abc"
End With
设置值后,my_Named_Range 会立即扩展以包含它。
编辑:
With my_Named_Range_2 defined with a Refers to: (Formulas ► Defined Names ► Name Manager) of,
=Sheet1!$A:INDEX(Sheet1!:, , MATCH("zzz", Sheet1!:))
...上面提供的代码片段应该修改为,
With Range("my_Named_Range_2")
.Cells(.Cells.Count).Offset(0, 1) = "abc"
End With
我一直在查看 online/here,我能找到的所有内容都只与完整的 sheet 有关,而不是作为 sheet 的一部分的范围。
我有一个代码,它将采用命名范围 "ARange",并搜索任何出现的 "AValue" 如果 "AValue" 不在范围内,那么它将扩展范围以允许空间插入 "AValue"
我 运行 遇到的问题是,在扩展范围后,我不确定如何将 "AValue" 插入到范围的最后一个单元格中。这可以通过 ARange 中的另一个 For Each Cell 来完成,我将把它作为最后的手段。
请注意。 ARange 只是一个示例名称。我希望能够在几个不同的范围内做到这一点。所有 1 列宽。有的从第 1 行开始,有的从第 2 行开始,有的从第 20 行开始,等等
有什么简单的方法可以表达以下内容吗?
LastCell("ARange").Value = TextBox1.Value
谢谢大家!
考虑到 ARange 只有一列宽:
Sub xTendIt()
Dim ARange As Range, AValue As String
'
'this is an example
'
AValue = "X"
Set ARange = Range("B9:B23")
'
'this is a general extender
'
Set ARange = ARange.Resize(ARange.Rows.Count + 1, 1)
ARange(ARange.Count) = AValue
End Sub
或使用TextBox1.Value
如果您的 命名范围 已定义为 指的是: 使用的公式类似于
=OFFSET(Sheet1!$A, 0, 0, COUNTA(Sheet1!$A:$A, 1)
... 或
的非易失性等价物=Sheet1!$A:INDEX(Sheet1!$A:$A, MATCH("zzz", Sheet1!$A:$A)) ◄ for text
=Sheet1!$A:INDEX(Sheet1!$A:$A, MATCH(1e99, Sheet1!$A:$A)) ◄ for numbers
...那么您只需在范围下方的第一个空白单元格中设置值,一旦设置了值,范围的 *指:将调整以包含它。
With Range("my_Named_Range")
.Cells(.Cells.Count).Offset(1) = "abc"
End With
设置值后,my_Named_Range 会立即扩展以包含它。
编辑:
With my_Named_Range_2 defined with a Refers to: (Formulas ► Defined Names ► Name Manager) of,
=Sheet1!$A:INDEX(Sheet1!:, , MATCH("zzz", Sheet1!:))
...上面提供的代码片段应该修改为,
With Range("my_Named_Range_2")
.Cells(.Cells.Count).Offset(0, 1) = "abc"
End With