gpt4 book ai didi

Excel VBA : Return first occurrence of a word in a column? 最后一个?

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

假设我在任意列中具有从第 1 行往下的这些值:

1 A
2 A
3 A
4 A
5 B
6 B
7 B
8 A
9 A
10 A

我希望能够说 start=5 是第一个 B,last=7 是最后一个 B。如果没有 B,则第一个和最后一个都返回 0。

最佳答案

不要忘记,在 VBA 中您仍然可以访问大量内置 Excel 函数。示例(假设您的数据位于第 1 列):

找到第一个B...
Columns(1).Find(What:="B", LookAt:=xlWhole, MatchCase:=False).Row '返回 5

找到最后一个B...
Columns(1).Find(What:="B", LookAt:=xlWhole, SearchDirection:=xlPrevious, MatchCase:=False).Row '返回 7

如果未找到 B,则返回错误。我们可以利用这一点,如果未找到 B,则使用错误处理返回 0。把它们放在一起......

Sub DoTest()
Dim RowFirst As Integer, _
RowLast As Integer
On Error GoTo ErrorHandler
RowFirst = Columns(1).Find(What:="B", LookAt:=xlWhole, SearchDirection:=xlNext, MatchCase:=False).Row
RowLast = Columns(1).Find(What:="B", LookAt:=xlWhole, SearchDirection:=xlPrevious, MatchCase:=False).Row
Exit Sub
ErrorHandler:
RowFirst = 0
RowLast = 0
End Sub

关于Excel VBA : Return first occurrence of a word in a column? 最后一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13769375/

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