Проблема с книгой не была измерена - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь скопировать форматирование из определенных листов рабочей книги из одной рабочей книги 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...