Я пытаюсь скопировать все рабочие листы из файла, сохраненного на сетевом диске, в мою текущую активную рабочую книгу.После того, как они будут скопированы, я бы хотел их скрыть.
Сложная часть, которую я пока не смог найти, заключается в том, что каждый раз при повторном запуске макроса мне бы хотелось, чтобы те рабочие листы, которые были ранее скопированыперезаписать или удалить и заменить новыми листами из существующего файла, из которого я копирую.
В настоящее время мой код настроен так, чтобы просто копировать определенный лист в зависимости от строки гиперссылки.Ниже то, что я начал, но это не совсем то направление, в котором я хочу идти.
Обратите внимание, что ниже редактируется скрипт:
Sub ImportWorksheets ()
Dim wb As Workbook, ws As Worksheet, wbTarget As Workbook, wsTarget As Worksheet
Application.ScreenUpdating = False
Dim pth As String
pth = wb.Path
Dim titleDetailPth As String
titleDetailPth = Left(pth, InStrRev(pth, "\") - 1)
Dim filePthName As String
filePthName = titleDetailPth & "\New Release Templates\" & "Key New Release Accounts Details.xlsx"
Set wb = ActiveWorkbook 'Your workbook
Set wbTarget = Workbooks.Open(filePthName, UpdateLinks:=False, ReadOnly:=True) 'The drive workbook
For Each wsTarget In wbTarget.Worksheets 'a loop for each worksheet on the drive workbook
For Each ws In wb.Worksheets ' a loop for each worksheet on your workbook
If wsTarget.Name = ws.Name Then 'if the sheet you are trying to import exist, it will delete it
Application.DisplayAlerts = False
ws.Delete
Application.DisplayAlerts = True
End If
Next ws
wsTarget.Copy After:=wb.Sheets(wb.Sheets.Count) 'this will copy it into the last sheet
wb.Sheets(wb.Sheets.Count).Visible = 0 'this will hide it
Next wsTarget
wbTarget.Close SaveChanges:=False
Application.ScreenUpdating = True
End Sub