Как заменить одну переменную другой для всего столбца - PullRequest
2 голосов
/ 18 июня 2019

Я пытаюсь заменить все экземпляры в столбце D переменной 1 на переменную 2. Кажется, что все работает нормально, если я использую только одну переменную, но мне нужны оба.

Найти и заменить произведения, если я использую точное значение и ОДНУ переменную, однако я планирую поделиться этим кодом с другими, и им потребуется определить свои собственные 2 переменные.Например, в столбце D PortName "Хьюстон" нужно будет изменить на PortCode "1234".Но если я дам сценарий Далласу, они могут определить PortName для «Далласа», 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, используя переменные, которые я могу определить.

1 Ответ

2 голосов
/ 18 июня 2019

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
...