gpt4 book ai didi

vba - 如果不喜欢 vba

转载 作者:行者123 更新时间:2023-12-04 21:38:16 25 4
gpt4 key购买 nike

关闭。这个问题需要debugging details .它目前不接受答案。












编辑问题以包含 desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem .这将帮助其他人回答问题。


7年前关闭。







Improve this question




如果特定单元格格式不是每小时格式,我想应用条件(删除行)

我尝试了下面的代码,但它不起作用

Sub delete_row()

Dim i As Integer
Dim LR As Long
LR = Range("A" & Rows.Count).End(xlUp).Row

For i = 1 To LR
If Not Cells(i, 1).Value Like "##:##-##:##" Then
Cells(n, 1).EntireRow.Delete


End If
Next i
End Sub

最佳答案

我不相信有一种开箱即用的方式或单一模式匹配来评估您输入的时间范围。

这应该可以工作,并且足够灵活以适应一些输入变化(破折号之前或之后的空格,单位或两位数小时输入(没有前导 0)):

' Check for cell values matching the following Time pattern entry:
' [Hour]:[Minute]-[Hour]:[Minute]

Dim i As Integer
Dim LR As Long
LR = Range("A" & Rows.Count).End(xlUp).Row

Dim valueParts As Variant
Dim result As Boolean
Dim part As Integer

' Because you are deleting rows as you go,
' move from bottom to top.
' Otherwise rows will be skipped when you delete.
For i = LR To 1 Step -1
' Split into parts so we can check each.
valueParts = Split(Cells(i, 1).Value, "-")

' Evalutate each component to make sure
' it fits the time format we expect.
' Default to True until a non-match is found.
result = True

For part = LBound(valueParts) To UBound(valueParts)
' Account for single digit (0-9)
' and double digit (10-12) hours.
result = result And _
(Trim(valueParts(part)) Like "#:##" _
Or Trim(valueParts(part)) Like "##:##")
Next

If Not result Then
' This is not a valid time pattern.
' Delete the row.
Rows(i).Delete
End If

Next

关于vba - 如果不喜欢 vba,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27470498/

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