gpt4 book ai didi

选择中的 VBA Rows.Count

转载 作者:行者123 更新时间:2023-12-02 10:53:31 25 4
gpt4 key购买 nike

我正在计算用户选择在操作按钮旁边的工作表顶部显示的行数,即按钮显示“生成电子邮件”,旁边显示“已选择 x 个项目”。

由于每次选择更改时都会更新,因此我有以下代码:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheet1.Range("E1") = Target.Rows.Count & " items selected"
End Sub

如果用户选择连续的行,例如7:10 返回 4。

我的问题是,如果用户选择第 7 行和第 10 行。它只会返回 1(所选内容第一部分中的行)。

根据我的发现,无法从属性中获取此值,但我无法理解如何迭代选择/目标的所有部分并计算行的总和。那么用户也有可能选择 A7、C7 和 A10。 A7 和 C7 涉及同一个项目,所以这应该只被视为一个,而不是两个,我认为我的假设代码会这样做......

是否有人尝试过实现这一目标并取得了成功,或者可以为我指出一些可能有帮助的属性的方向?我尝试了一个单独的函数来实现它,但这也不起作用。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheet1.Range("E1") = getRowCount(Target) & " items selected"
End Sub

Function getRowCount(selectedRanges As Ranges)
rowCount = 0
For Each subRange In selectedRanges
rowCount = rowCount + subRange.Rows.Count
Next

getRowCount = rowCount
End Function

最佳答案

我认为这会起作用。 (当我尝试时确实如此。)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Create a range containing just column A
Dim subRange As Range
Dim r As Range
For Each subRange In Target.Areas
If r Is Nothing Then
Set r = subRange.EntireRow.Columns(1)
Else
Set r = Union(r, subRange.EntireRow.Columns(1))
End If
Next
'Count how many cells in the combined column A range
Sheet1.Range("E1") = r.Cells.Count & " items selected"
End Sub

关于选择中的 VBA Rows.Count,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45632012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com