首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >搜索特定列中的文本-如果不存在,则在上面添加文本

搜索特定列中的文本-如果不存在,则在上面添加文本
EN

Stack Overflow用户
提问于 2016-11-16 06:27:39
回答 1查看 49关注 0票数 0

根据工程师的经验,他们会在他们的数据记录应用程序上按一个按钮,自动输入电子表格中的“检查点”。

如果没有按下该按钮,就不会有“检查点”放置,单元格将保持空。

为了计算/完成我的宏,我需要弄清楚如何在“信号交叉口”这个词的前面加上“检查点”,但前提是“检查点”已经不存在于“信号化的交集”这个词之上。

重要注意事项:电子表格上只有三个“信号交叉口”。

它们总是在G列中,但从来不在同一行。

有些床单根本没有“检查站”,有些则有两个“检查站”等等。

总有3个检查点(自动或手动添加),总共有3个“信号交叉口”(自动添加)

例G

1

2

3(需要宏查找下面的信号交叉口,将上面的一个单元格移动到此选择-然后将值更改为“检查点”)

4个信号交叉口

5

6

7

8

9

10

11 (然后再次搜索并在下面找到信号交叉口,将上面的一个单元格移动到此选择-然后将值更改为“检查点”)

12个信号交叉口

13

14

15

16个检查站“自动进入工程师”

17

18

19个信号交叉口

20

抱歉,太长了,如果这还不够清楚.我会采取一些截图来帮助澄清。

我有为其他元素编写的代码,所以我将向它添加这个新代码。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-16 22:20:10

就像这样:

代码语言:javascript
运行
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40625427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档