【问题标题】:How do I replace one variable with another for an entire column如何在整个列中用另一个变量替换一个变量
【发布时间】:2019-11-01 09:01:55
【问题描述】:

我正在尝试将 D 列中变量 1 的所有实例替换为变量 2。如果我只使用一个变量,似乎工作正常,但我需要两者。

如果我使用确切的值和一个变量,则查找和替换工作,但是我计划与其他人共享此代码,他们将需要定义自己的 2 个变量。例如,在 D 列中,需要将 PortName“Houston”更改为 PortCode“1234”。但是,如果我将脚本提供给 Dallas,他们可以将 PortName 定义为“Dallas”,PortCode “5678”

Dim PortCode As Single
Dim PortName As Single
PortCode = 5301
PortName = HOUSTON

Columns("D:D").Select
Selection.Replace What:="" & PortName & "", _
                    Replacement:="" & PortCode & "", _
                    LookAt:=xlPart, _
                    SearchOrder:=xlByRows, _
                    MatchCase:=False, _
                    SearchFormat:=False, _
                    ReplaceFormat:=False

如果我只使用一个变量并用实际值定义另一个变量,它就可以正常工作。如果我同时使用这两个变量,它什么也不做。我想将“休斯顿”的每个实例更改为“1234”,仅在 D 列中,使用我可以定义的变量。

【问题讨论】:

    标签: vba variables replace find


    【解决方案1】:

    Single 是一种用于描述“单精度浮点数”的数据类型。
    你想要String
    这样,您可以稍微简化代码:

    Dim PortCode As String
    Dim PortName As String
    PortCode = "5301"
    PortName = "HOUSTON"
    
    Columns("D:D").Select
    Selection.Replace What:=PortName , _
                    Replacement:=PortCode , _
                    LookAt:=xlPart, _
                    SearchOrder:=xlByRows, _
                    MatchCase:=False, _
                    SearchFormat:=False, _
                    ReplaceFormat:=False
    

    【讨论】:

    • 你也想要Option Explicit ;-)
    猜你喜欢
    • 1970-01-01
    • 2012-10-16
    • 2022-11-17
    • 2018-09-22
    • 1970-01-01
    • 2015-10-03
    • 2019-09-01
    • 1970-01-01
    • 2020-03-25
    相关资源
    最近更新 更多