В столбце листа A2:A находятся неповторяющиеся текстовые названия. Как макросом - создать точные копии листа на котором находится этот столбец - с названиями листов какие записаны A2:A ? (но с очищенным столбцом A2:A и без кнопки)
Это будет множество листов с названиями y4utyu, tyu5ty3, u75543 и т.д.
Здравствуйте. Помогите решить вопрос с макросом.
В столбце листа A2:A находятся неповторяющиеся текстовые названия. Как макросом - создать точные копии листа на котором находится этот столбец - с названиями листов какие записаны A2:A ? (но с очищенным столбцом A2:A и без кнопки)
Это будет множество листов с названиями y4utyu, tyu5ty3, u75543 и т.д.НедобрыйКлоун
не надо ни какой кнопки. макрос в модуле книги, запускается двойным кликом левой кнопки мыши по ячейке A1 первого листа [vba]
Код
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) Application.ScreenUpdating = False a = ActiveSheet.Index If a = 1 Then b = Target.Address If b = "$A$1" Then c = Cells(Rows.Count, "a").End(xlUp).Row For d = 2 To c Sheets(1).Copy After:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = Sheets(1).Range("a" & d).Value Sheets(Sheets.Count).Range("a2:a" & c).Clear Next End If End If Cancel = True Application.ScreenUpdating = True End Sub
не надо ни какой кнопки. макрос в модуле книги, запускается двойным кликом левой кнопки мыши по ячейке A1 первого листа [vba]
Код
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) Application.ScreenUpdating = False a = ActiveSheet.Index If a = 1 Then b = Target.Address If b = "$A$1" Then c = Cells(Rows.Count, "a").End(xlUp).Row For d = 2 To c Sheets(1).Copy After:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = Sheets(1).Range("a" & d).Value Sheets(Sheets.Count).Range("a2:a" & c).Clear Next End If End If Cancel = True Application.ScreenUpdating = True End Sub
Nic70y, подскажите - а где в этом коде определяется название листа, который надо размножить ? Например лист называется "СемьВосемьДевять" И макрос его - уже не видит, и соответственно не срабатывает.
Nic70y, подскажите - а где в этом коде определяется название листа, который надо размножить ? Например лист называется "СемьВосемьДевять" И макрос его - уже не видит, и соответственно не срабатывает.НедобрыйКлоун
Потому что макрос нужен не в модуле книги, а в обычном модуле.
как хотите [vba]
Код
Sub u_714() Application.ScreenUpdating = False With Sheets("Sheet1") 'лист который копируется c = .Cells(Rows.Count, "a").End(xlUp).Row 'нижняя строка списка For d = 2 To c 'цикл со 2 до нижней строки .Copy After:=Sheets(Sheets.Count) 'копируем лист, вставляем после последнего Sheets(Sheets.Count).Name = .Range("a" & d).Value 'переименовываем значением из очередной ячейки Sheets(Sheets.Count).Range("a2:a" & c).Clear 'очищаем все ActiveSheet.Shapes.Range(Array("abc_")).Delete 'удаляем кнопку (имя присвоено) Next End With Application.ScreenUpdating = True End Sub
Потому что макрос нужен не в модуле книги, а в обычном модуле.
как хотите [vba]
Код
Sub u_714() Application.ScreenUpdating = False With Sheets("Sheet1") 'лист который копируется c = .Cells(Rows.Count, "a").End(xlUp).Row 'нижняя строка списка For d = 2 To c 'цикл со 2 до нижней строки .Copy After:=Sheets(Sheets.Count) 'копируем лист, вставляем после последнего Sheets(Sheets.Count).Name = .Range("a" & d).Value 'переименовываем значением из очередной ячейки Sheets(Sheets.Count).Range("a2:a" & c).Clear 'очищаем все ActiveSheet.Shapes.Range(Array("abc_")).Delete 'удаляем кнопку (имя присвоено) Next End With Application.ScreenUpdating = True End Sub