根据工程师的经验,他们将按下数据记录应用程序上的一个按钮,该按钮将自动将"Checkpoint"输入电子表格。
如果未按下该按钮,则不会放置"Checkpoint",单元格将保持为空。
为了计算/完成我的宏,我需要弄清楚如何在"信号交叉口"这个词上面添加"检查点",但只有当"检查点"已经不存在于"信号交叉口"这个词上面
重要提示:只有三个(3)电子表格上的"信号交叉口"
它们总是在G列,但从不在同一行。
有些表格根本没有"检查点",有些会有两个(2)"检查点"等。
总共应该有3个检查点(自动或手动添加),总共有3个"信号交叉口"(总是自动添加)
的例子G
1
2
3(需要宏来找到下面的信号交叉口,移动一个单元格到这个选择-然后将值更改为"检查点")
4信号交叉口
5
6
7
8
9
10
(然后再次搜索并找到下面的信号交叉口,将1个单元格移动到此选择-然后将值更改为"检查点")
12信号交叉口
13
14
15
检查点"从工程师自动进入"-(因为这个检查点已经进入,忽略并关闭)
17日
18
19信号交叉口
20
抱歉这么长,如果这还不够清楚…我将用一些截图来帮助澄清。
我已经为其他元素编写了代码,所以我将添加这段新代码。
像这样:
Const VAL_SIG As String = "Signalized Intersection"
Const VAL_CHECK As String = "Checkpoint"
Dim bSig As Boolean, bCheck As Boolean, c As Range
Dim n As Long, sht As Worksheet
Set sht = ActiveSheet
Set c = sht.Range("G8")
Do While Application.CountA(c.EntireRow) > 0
If c.Value = VAL_CHECK Then
bCheck = True
ElseIf c.Value = VAL_SIG Then
If Not bCheck Then c.Offset(-1, 0) = VAL_CHECK
bCheck = False
n = n + 1
If n = 3 Then Exit Do 'only expecting 3
End If
Set c = c.Offset(1, 0)
Loop