Я пытаюсь написать макрос, который вставляет над формулами внутри определенных имен рабочие листы с их значениями, тем самым делая их экспортируемыми. Я успешно получил макрос, чтобы обмануть и переименовать листы, но не могу заставить copy/paste работать на них, как хотелось бы.Запуск макроса на листах с указанным именем
В настоящее время мой макрос копирует все видимые листы, кроме одного указанного («Панель управления»), а затем переименовывает их, заменяя «(2)» на «_VARIABLES». Все идет нормально. Затем предполагается перезаписать формулы во вновь созданных листах со значениями; эта часть не работает.
Вот весь код:
Private Sub testestssss()
Dim ws As Worksheet
'Copy all visible worksheets except "Dashboard" to the end
For Each ws In Sheets
If ws.Name = "Dashboard" Then
Else
If ws.Visible Then ws.Copy after:=Worksheets(Worksheets.Count)
End If
Next
'Rename all "wk * (2)" sheets to "wk *_VARIABLES"
For Each ws In Sheets
If ws.Name Like "* (2)" Then
ws.Name = Replace(ws.Name, " (2)", "_VARIABLES")
End If
Next
'Overwrite all "wk *_VARIABLES" formulae with values
For Each ws In Sheets
If ws.Name Like "*_VARIABLES" Then
Columns("A:B").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
Next
End Sub
Таким образом, все выше, не работает до до «перезаписать все„WK * _VARIABLES“формулы со значениями» части. Это кажется неэффективным.
Любая помощь будет с благодарностью оценена!
спасибо.
+ 1 избили меня до него. Пришлось прервать проект LOL –
@SiddharthRout Извините, что ;-) Так как вы получили выше меня, я должен работать все сильнее и быстрее! – assylias
@assylias Это работает _perfectly_ - спасибо за ваш быстрый ответ! Похоже, у меня все еще есть много уроков для оптимизации. Ура! – seegoon