1. Отправляю код, который копирует формат ячейки B12 в ячейки A110:DD2000. В указанном диапазоне A110:DD2000 иногда есть защищенные ячейки. Находится могут в любом месте. Как обойти эти защищенные ячейки (или даже лучше снять защиту) и поменять формат в остальных
2. Как сделать так, чтобы при открытии диалогового окна можно было выбрать не все файлы из папки, а видно было список файлов для выбора.
Код |
---|
Sub Поменять_форматы()
Dim sFolder As String, sFiles As String
Dim wb As Workbook
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = False Then Exit Sub
sFolder = .SelectedItems(1)
End With
sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, "", Application.PathSeparator)
Application.ScreenUpdating = False
Application.AskToUpdateLinks = False
sFiles = Dir(sFolder & "*.xls*")
Range("B12").Select
Selection.Copy
Do While sFiles <> ""
Set wb = Application.Workbooks.Open(sFolder & sFiles, 0)
wb.Sheets("Лист").Activate
Range("A110:DD2000").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
wb.Close True
sFiles = Dir
Loop
Application.ScreenUpdating = True
Application.CutCopyMode = False
MsgBox "Форматы изменены"
End Sub
|