【问题标题】:VBA script for if-elseif-else 的 VBA 脚本
【发布时间】:2017-02-08 05:58:23
【问题描述】:

对于 G 列,我的列如下所示:

G 列
完成
完成
进行中
未开始
完成

我需要一个 If-Else 脚本将所有 Complete 值转换为“Y”,否则为“N”。
有人可以帮助我吗?

【问题讨论】:

  • 从这里开始:msdn.microsoft.com/en-us/library/office/… 尤其是If...Then...Else 文档。
  • 您能澄清一下您的问题吗?
  • 欢迎来到 Stack Overflow。你想要一个脚本还是一个公式?因为这可以解决为像 =If(G1="Complete";"Y";"N") 这样的公式,粘贴在单独的列中,例如列 H,然后向下拖动到表格的末尾。如果您想要代码,请向我们展示您已有的代码,然后我们可以为您提供帮助
  • 我对 VBA 不熟悉。所以我没有为此编写任何代码。我需要使用 VBA 自动化这个过程。如果 G 列中的行值包含“完成”,如何将其更改为 Y,否则对于所有其他情况为“N”。
  • 如果您不熟悉 VBA,则需要熟悉它。 Stack Overflow 不是免费的编码服务,也不是教程服务。它旨在帮助程序员编写他们的程序。只需使用可以在 2 或 3 小时内通过教程学习的基础知识,就可以编写您想要的内容。如果您这样做但后来卡住了,请编辑此问题以显示您的努力。

标签: string vba if-statement text


【解决方案1】:

您需要学习 VBA 脚本的三个基本元素。

  1. 循环参数(开始 --> 结束)
  2. 采取的措施(循环内的内容)
  3. 迭代(如何移动到循环中的下一条记录,避免无限循环)

    Sub MarkComplete()
    
    'Select first cell
    Range("G2").Select
    
    'Loop until no more values
    While ActiveCell.Value <> ""
    
        'Print appropriate value
        If ActiveCell.Value = "Complete" Then
    
            ActiveCell.Value = "Y"
    
        Else
    
            ActiveCell.Value = "N"
    
        End If
    
        'Move to next cell
        ActiveCell.Offset(1, 0).Select
    
    Wend
    
    End Sub
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多