Я пытаюсь скопировать форматирование из определенных листов рабочей книги из одной рабочей книги V0, затем перебрать папку и вставить форматирование в другие рабочие книги.
Проблема, с которой я сталкиваюсь, заключается в том, когда я пытаюсь установитьWS1 в качестве одного из исходных листов я получаю объект неопределенной ошибки.Ws1 определяется в верхней части.Когда я запускаю код через отладку всех других переменных, вызовы функций в порядке, и они были определены одинаково.
Dim StrFile As String, SDir As String
Dim name As String
Dim Src_pg1 As String, Src_pg2 As String 'Source and Target sheets
Dim Trgt_pg1 As String, Trgt_pg2 As String
Dim ws1 As Worksheet, ws2 As Worksheet 'define worksheets
Dim ws3 As Worksheet, ws4 As Worksheet
Dim WshSource As Workbook
Dim WshTarget As Workbook
SDir = "dircectory"
StrFile = Dir(SDir + "\*")
Src_pg1 = "Homepage Update"
Trgt_pg1 = "Homepage"
Src_pg2 = "raw"
Trgt_pg2 = "sample"
Application.ScreenUpdating = False
Do While Len(StrFile) > 0
name = StrFile
Set WshSource = Workbooks.Open("directory\v0.xlsm", True, True)
Set WshTarget = Workbooks.Open(SDir + "\" + name, True, True)
Set ws1 = WshSource.Sheets(Src_pg1) '******* Where the error happens****
Set ws2 = WshTarget.Sheets(Trgt_pg1)
Set ws3 = WshSource.Sheets(Src_pg2)
Set ws4 = WshTarget.Sheets(Trgt_pg2)
ws1.Cells.Copy
ws2.Cells.PasteSpecial Paste:=xlPasteFormats 'Source format pasted
ws2.Cells.PasteSpecial Paste:=xlPasteComments 'Comments are pasted.
ws2.Cells.PasteSpecial Paste:=xlPasteValidation 'Validations are pasted
Application.CutCopyMode = False
'Application.Goto .Cells(1), 1
ws3.Cells.Copy
ws4.Cells.PasteSpecial Paste:=xlPasteFormats 'Source format pasted
ws4.Cells.PasteSpecial Paste:=xlPasteComments 'Comments are pasted.
ws4.Cells.PasteSpecial Paste:=xlPasteValidation 'Validations are pasted
Application.CutCopyMode = False
'Application.Goto .Cells(1), 1