Excel 2013 cut and insert in VBA 如果最后一个条目被剪切,则不会调整命名范围的大小
Excel 2013 cut and insert in VBA is not resizing named ranges if the last entry is what's cut
我有一个传播sheet,其中我有一个名为 "Lists" 的 sheet,其中包含许多命名范围。这些命名范围是同事团队。我已经设置了一个命令按钮,一旦按下它将采用 "H30"(同事姓名)中输入的值和 H31(经理姓名)中的值,并将 select 团队列表中的同事姓名, 剪切, 插入到管理员输入的团队中 "H31" (方便管理员方便的调人到其他团队).
我已经全部设置好并且工作正常,Excel 自动调整命名范围的大小,以便所有与其相关的功能(即组合框等)仍然可以正常工作。但是,当同事是团队中的最后一个同事时,我 运行 遇到了问题。在 VBA 中使用 cut/insert 不会调整它们被剪切的命名范围的大小,最后留下空白 space。
我怎样才能使命名范围仍然正确调整大小,因为如果从命名范围内的任何其他地方删除同事姓名,它确实会这样做。有没有简单的方法可以做到这一点?如果不是下面是我想做的方法,但我不确定如何做:
查找 "H30" 中的条目出现在哪个命名范围
If 语句检查 "H30" 中的值是否与命名范围中的最后一个条目匹配(我正在使用)
剪切条目后调整大小范围(也有工作)
确定同事来自的范围是我的主要问题,我尝试使用如下所示的循环遍历每个命名范围:
Dim nm As Name
For Each nm In Worksheets("Lists").Names
If Not Intersect(Range("H30"), nm.RefersToRange) Is Nothing Then
'Do things
End If
Next nm
我从其他地方的例子中得到了上面的内容,但它似乎从来没有找到范围。也不会产生任何错误。我可以采用其他方法来查找值所在的命名范围吗?
要查找 "H30" 中的条目出现在哪个命名范围内,请使用
Worksheets("Lists").Range("H30").Name.Name
剪一个row/column自动调整动态范围的公式。因此,如果您从 bottom/top 中删除某些内容,它就会消失。而不是剪切复制单元格和清除内容。希望您在命名范围内使用 CountA
。
我有一个传播sheet,其中我有一个名为 "Lists" 的 sheet,其中包含许多命名范围。这些命名范围是同事团队。我已经设置了一个命令按钮,一旦按下它将采用 "H30"(同事姓名)中输入的值和 H31(经理姓名)中的值,并将 select 团队列表中的同事姓名, 剪切, 插入到管理员输入的团队中 "H31" (方便管理员方便的调人到其他团队).
我已经全部设置好并且工作正常,Excel 自动调整命名范围的大小,以便所有与其相关的功能(即组合框等)仍然可以正常工作。但是,当同事是团队中的最后一个同事时,我 运行 遇到了问题。在 VBA 中使用 cut/insert 不会调整它们被剪切的命名范围的大小,最后留下空白 space。
我怎样才能使命名范围仍然正确调整大小,因为如果从命名范围内的任何其他地方删除同事姓名,它确实会这样做。有没有简单的方法可以做到这一点?如果不是下面是我想做的方法,但我不确定如何做:
查找 "H30" 中的条目出现在哪个命名范围
If 语句检查 "H30" 中的值是否与命名范围中的最后一个条目匹配(我正在使用)
剪切条目后调整大小范围(也有工作)
确定同事来自的范围是我的主要问题,我尝试使用如下所示的循环遍历每个命名范围:
Dim nm As Name
For Each nm In Worksheets("Lists").Names
If Not Intersect(Range("H30"), nm.RefersToRange) Is Nothing Then
'Do things
End If
Next nm
我从其他地方的例子中得到了上面的内容,但它似乎从来没有找到范围。也不会产生任何错误。我可以采用其他方法来查找值所在的命名范围吗?
要查找 "H30" 中的条目出现在哪个命名范围内,请使用
Worksheets("Lists").Range("H30").Name.Name
剪一个row/column自动调整动态范围的公式。因此,如果您从 bottom/top 中删除某些内容,它就会消失。而不是剪切复制单元格和清除内容。希望您在命名范围内使用 CountA
。