Я пытаюсь заменить текст в определенной ячейке с помощью логики - PullRequest
0 голосов
/ 13 декабря 2018

Это код, который я использовал до сих пор, он удаляет «p», но не вводит текст, как я ожидал.Что я могу делать не так?У меня уже есть тусклые названия и эти работы

If copySheet.Range("B2") = "p" Then
copySheet.Range("B2").Value = “POW”
  End If

  If copySheet.Range("B2") = "c" Then
copySheet.Range("B2").Value = “CAP”
  End If
End Sub

1 Ответ

0 голосов
/ 13 декабря 2018

Проблема заключается в стилизованных кавычках “POW” их нужно заменить обычными кавычками.

Но чтобы сделать полный столбец сразу, просто используйте Range.Replace()

copySheet.Range("B:B").Replace "p", "POW", xlWhole

Еслиу вас есть список для замены, я бы заполнил два массива, один из которых заменить и чем заменить.Затем зациклируйте массив и выполните замену:

Dim fnd As Variant
fnd = Array("p", "c")

Dim outpt As Variant
outpt = Array("POW", "CAP")

Dim i As Long
For i = LBound(fnd) To UBound(fnd)
    copySheet.Range("B:B").Replace fnd(i), outpt(i), xlWhole
Next i

Теперь вам просто нужно обновить массивы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...