如何在整个列中用另一个变量替换一个变量

时间:2019-06-18 16:55:51

标签: vba variables replace find

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

如果我使用精确值和ONE变量,则查找和替换作品,但是我计划与他人共享此代码,并且他们需要定义自己的2个变量。例如,在D列中,需要将PortName“休斯顿”更改为PortCode“ 1234”。但是,如果我将脚本提供给达拉斯,他们可以将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

如果我仅使用一个变量,并使用实际值定义另一个变量,则它可以正常工作。如果我同时使用两个变量,则不会执行任何操作。我想使用我可以定义的变量,仅在D列中将“休斯顿”的每个实例更改为“ 1234”。

1 个答案:

答案 0 :(得分:2)

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