если совпадение найдено, удалите из нескольких листов - PullRequest
0 голосов
/ 27 мая 2019

Лист 0: https://paste.pics/82a491cbc642d6fff555ef70612aec5b

Лист 1: https://paste.pics/cafe8628b76e56789cf03b06a923bde8

Лист 2: https://paste.pics/2320369d395a22c868b5e439b456ad3a

Лист 3: https://paste.pics/9fc84c7f43e1a2819d1537593c44c1f9

Если совпадение найдено => "SUP" "AL" "AP" , тогда данные должны быть удалены со всех листов одним нажатием кнопки. Кнопка находится в "Лист0" => при очистке данных заголовки не должныПолучить Очистить

, если хотите увидеть мой Excel безопасный скачать 100%
https://drive.google.com/file/d/1w0n_srbhF02OhiWzKsB4IWWiwV5nO-Vl/view?usp=sharing

======================================================================== Это мой код, где я пытался, но не работал, выдавая ошибку на Ws.Range

Private Sub CommandCreate_new_Click()
      Dim Ws As Worksheet
      For Each Ws In Sheets(Array("Sheet1","Sheet2","Sheet3"))
         Ws.Range ("I9:AM9")
        .Cells.Replace what:=UCase("SUP"), Replacement:="", ReplaceFormat:=True
        .Cells.Replace what:=UCase("SUP"), Replacement:="", ReplaceFormat:=False
        .Cells.Replace what:=UCase("AL"), Replacement:="", ReplaceFormat:=True
        .Cells.Replace what:=UCase("AL"), Replacement:="", ReplaceFormat:=False
      Next Ws   End Sub      

=======================================================================

Частично работает, но не устанавливает для ячейки значение => Нет цвета заливки [При обнаружении условия совпадения данные должны быть удалены, и даже цвет ячейки должен быть удален, а значение - нет.цвет заливки]

Private Sub CommandButton1_Click()
      Dim Ws As Worksheet
      For Each Ws In Sheets(Array("Sheet1", "Sheet2", "Sheet3"))
         Ws.Range("A4", Ws.Range("A" & Rows.Count).End(xlUp).Offset(, 1)).ClearContents
         Ws.Range("B4", Ws.Range("B" & Rows.Count).End(xlUp).Offset(, 1)).ClearContents
         Ws.Range("C4", Ws.Range("C" & Rows.Count).End(xlUp).Offset(, 1)).ClearContents
         Ws.Range("D4", Ws.Range("D" & Rows.Count).End(xlUp).Offset(, 1)).ClearContents
         Ws.Range("E4", Ws.Range("E" & Rows.Count).End(xlUp).Offset(, 1)).ClearContents
         Ws.Range("F4", Ws.Range("F" & Rows.Count).End(xlUp).Offset(, 1)).ClearContents
         Ws.Range("G4", Ws.Range("G" & Rows.Count).End(xlUp).Offset(, 1)).ClearContents
         Ws.Range("H4", Ws.Range("H" & Rows.Count).End(xlUp).Offset(, 1)).ClearContents
         Ws.Range("I4", Ws.Range("I" & Rows.Count).End(xlUp).Offset(, 1)).ClearContents
         Ws.Range("J4", Ws.Range("J" & Rows.Count).End(xlUp).Offset(, 1)).ClearContents
      Next Ws
End Sub

Это следующий вывод, который я получаю после частичного выполнения вышеуказанного кода

[Мой вывод] [1]: https://i.stack.imgur.com/6EbRP.png

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