Цитата: Цитата:
Range("c4:g" & iL) = "" (тут надо что б очищало не только содержимое но и примечания)
Range("c4:g" & iL).ClearComments
LaCastet Спасибо!, то что надо было.
Цитата: Sniper1
Ваш макрос можно немного упростить:
Код:
Sub NewSheet()
Dim i As Long, shName As String: Application.ScreenUpdating = False
ActiveSheet.Copy after:=ActiveSheet: On Error Resume Next: i = 1
Do
shName = Format(Now, "DD.MM.YYYY") & "(" & i & ")"
Err.Clear: ActiveSheet.Name = shName: i = i + 1
Loop While Err <> 0
ActiveSheet.Tab.ColorIndex = Sheets(Sheets.Count - 1).Tab.ColorIndex + 1
If ActiveSheet.Tab.ColorIndex = 11 Then ActiveSheet.Tab.ColorIndex = 2
i = Cells(Rows.Count, 1).End(xlUp).Row - 2: Range("B4:B" & i) = Range("H4:J" & i)
Range("C4:G" & i) = "": Range("C4:G" & i).ClearComments
End Sub
SAS888 мне очень понравился ваш вариант так как он обрабатывает очерёдность названия листов в должном порядке, но есть одно "но", вы скорей всего что то пропустили и имели в виду так:
Код: Sub NewSheet()
Dim i As Long, shName As String: Application.ScreenUpdating = False
ActiveSheet.Copy after:=ActiveSheet: On Error Resume Next: i = 1
Do
shName = Format(Now, "DD.MM.YYYY") & "(" & i & ")"
Err.Clear: ActiveSheet.Name = shName: i = i + 1
Loop While Err <> 0
ActiveSheet.Tab.ColorIndex = Sheets(Sheets.Count - 1).Tab.ColorIndex + 1
If ActiveSheet.Tab.ColorIndex = 11 Then ActiveSheet.Tab.ColorIndex = 2
i = Cells(Rows.Count, 1).End(xlUp).Row - 2: Range("B4:B" & i)
.Value = Range("H4:J" & i)
.Value Range("C4:G" & i) = "": Range("C4:G" & i).ClearComments
End Sub