gpt4 book ai didi

vba - 使用 2 个变量标记区域

转载 作者:行者123 更新时间:2023-12-04 22:04:34 26 4
gpt4 key购买 nike

我需要标记表格的某些区域。我需要从“运行开始”到“运行结束”的所有内容,以便在不同的列中有相应的运行编号。

H (Run #)    O (Activity_code)                    S (what I need)
1 Piping
1 Run Start - TBRT 1
1 OPS-RIH/POOH/Trip/Wiper Trip 1
1 OPS-Drilling 1
1 OPS-Surveying 1
1 RIG-OPS-RIH/POOH/Trip/Wiper Trip 1
1 Run End - TART 1
1 OPS BHA Config
1 Piping
2 Run Start - TBRT 2

我还没有完全弄清楚 VBA 中的循环。这是我想出的。我似乎无法在这方面找到任何东西或让它发挥作用。任何帮助将不胜感激。
For i = 2 To Worksheet1.UsedRange.Rows.Count
If Worksheet1.Cells(i, o) = "Run S*" Then
x = i
If Worksheet.Cells(i, o).Value = "Run E*" Then
Range("S" & x & ":" & "S" & i) = Range("H" & i).Value
End If
End If
Exit For
Next

最佳答案

如果在你的列中你总是有“运行开始”和“运行结束”来定义你的标签,你可以使用这样的解决方案(我假设三列是“A”、“B”和“C”):

Dim count As Integer: count = 2 'check the cell until it's empty
Dim isrunning As Boolean: isrunning = False 'controls if the run has started but not ended
Do While Range("B" & count) <> ""
If isrunning = True Then
Range("C" & count) = Range("A" & count)
If Left(Range("B" & count),5) = "Run E" Then isrunning = False
Else
If Left(Range("B" & count),5) = "Run S" Then
Range("C" & count) = Range("A" & count)
isrunning = True
End If
End If
count = count + 1
Loop

请注意:
  • 当“B”列中的单元格为空时,这将停止;
  • 如果您处于运行开始和运行结束(包括)之间,我看到您想将“A”列中的数字报告到“C”列,但如果我错了,请纠正我。
  • 关于vba - 使用 2 个变量标记区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26745604/

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