gpt4 book ai didi

vba - 如何检查VBA中的长度是否小于2

转载 作者:行者123 更新时间:2023-12-03 00:44:39 25 4
gpt4 key购买 nike

我的单元格中有两个破折号,我试图检查第二个破折号后有多少个字符。如果长度或字符超过两个则删除该行。

   Sub fi()

Dim lastrow As Long, i As Long, firstD As Integer, secondD As Integer, bpno As Long

lastrow = ActiveSheet.UsedRange.Rows.Count
For i = 1 To lastrow
firstD = InStr(1, ActiveSheet.Cells(i, 1), "-")
secondD = InStr(firstD + 1, ActiveSheet.Cells(i, 1), "-")
bpno = Mid(ActiveSheet.Cells(i, 1), firstD + 1, secondD - firstD)

If Len(bpno) > 1 Then
MsgBox ("yes")
End If

Next i


End Sub

最佳答案

您需要向后移动行以使循环中的行号保持同步。

假设总是有 2 个破折号,使用 InStrRev 获取最后一个破折号的偏移量并与长度进行比较:

For i = lastrow To 1 Step -1
value= ActiveSheet.Cells(i, 1).Value
If Len(value) - InStrRev(value, "-") > 2 Then ActiveSheet.Rows(i).Delete
Next

关于vba - 如何检查VBA中的长度是否小于2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48324629/

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