В настоящее время я изучаю VBA.
Я смотрю эту серию обучающих видео на YouTube, посвященных тому, как использовать VBA для использования цикла и оператора if для создания дубликатов моих листов и как их удалять.
Я изменил свой код на следующий:
Sub deleteloop()
Dim x As Worksheet
Dim y As String
Dim z As String
Application.DisplayAlerts = False
For Each x In ActiveWorkbook.Sheets
y = x.Name
z = VBA.right(y, 3)
If z = "(2)" Then
ActiveSheet.delete
End If
Next x
Application.DisplayAlerts = True
End Sub
Как вы можете себе представить, мои дублированные листы имеют "(2)" в конце своей строки, поэтому идея для моего кодаудалить все дублированные листы, используя это.
Проблема состоит в том, что он удаляет все дублированные листы, кроме последнего, и мне нужно запустить его снова, чтобы удалить последний оставшийся лист с "(2)" наконец.
Что я здесь не так делаю?