Я пытаюсь, чтобы макрос выполнял функцию поиска и замены на всех листах, кроме листа, содержащего таблицу, содержащую значения поиска и замены.Однако при выполнении макроса он заменяет значения в таблице и не заменяет значения в остальных таблицах.
Я вытащил этот код с веб-сайта:
https://www.thespreadsheetguru.com/the-code-vault/2014/4/14/find-and-replace-all
, так как они пытались достичь моей цели, но она не работает.Мой немного изменен, потому что изначально мои данные были отформатированы по-другому, но я изменил их, чтобы они соответствовали вводу веб-сайта, и, несмотря на это, он все еще не работает.
Я пытался использовать методы Worksheets.Count ицикл с использованием i = 2 до ws_count и размещение таблицы поиска и замены в качестве первого листа, однако это также не удалось.Я также попробовал выбрать метод выбора случая, но он также не удался.
Мне интересно, изменилась ли какая-либо настройка фона, и это мешает ему распознавать имя листа?Не уверен, что проблема в том, что мое форматирование кажется точно таким же, как и для разрешенных вопросов, которые задают в основном одно и то же.
Dim ws As Worksheet
Dim FindList As Long, ReplaceList As Long
Dim tbl As ListObject
Dim ReplaceArray As Variant
Dim j As Long
'Variable pointing to table
Set tbl = Worksheets("DataSheet").ListObjects("ReplaceTable")
'Code here loads table data into array
'Loop through each item in Array lists
For i = LBound(ReplaceArray, 1) To UBound(ReplaceArray, 2)
'Loop through each worksheet in ActiveWorkbook except data sheet
For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> "DataSheet" Then
ws.Cells.Replace What:=ReplaceArray(FindList, i), Replacement:=ReplaceArray(ReplaceList, i), _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
End If
Next ws
Next i
Идеальные выходные значения, определенные в списке поиска в таблице, заменяются значениями взаменить список на всех листах, кроме листа, содержащего таблицу.