Доброго дня всем знатокам и любителям Excel! В разделе таблицы добавляется новая строка (в случае такой необходимости). Добавление строки осуществляется дабл кликом на названии соответствующего раздела таблицы. Удалось "смонтировать" такой макрос (не без вашей форумчане помощи), но не удается небольшой момент. Прошу помочь, так как сама не знаю как это сделать. Условия в прилагаемом файле.
Доброго дня всем знатокам и любителям Excel! В разделе таблицы добавляется новая строка (в случае такой необходимости). Добавление строки осуществляется дабл кликом на названии соответствующего раздела таблицы. Удалось "смонтировать" такой макрос (не без вашей форумчане помощи), но не удается небольшой момент. Прошу помочь, так как сама не знаю как это сделать. Условия в прилагаемом файле.Лорик
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Count > 1 Then Exit Sub 'бывает такое?? Cancel = True: On Error Resume Next Select Case Val(Target.EntireRow.Cells(1)) Case 2 Range("последняя").Copy Range("последняя").EntireRow.Insert 'Вставляет строку перед установленной "последней" строкой Application.CutCopyMode = False Range("последняя").Resize(, 17).SpecialCells(2).ClearContents End Select End Sub
[/vba]
Лорик, привет попробуйте так [vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Count > 1 Then Exit Sub 'бывает такое?? Cancel = True: On Error Resume Next Select Case Val(Target.EntireRow.Cells(1)) Case 2 Range("последняя").Copy Range("последняя").EntireRow.Insert 'Вставляет строку перед установленной "последней" строкой Application.CutCopyMode = False Range("последняя").Resize(, 17).SpecialCells(2).ClearContents End Select End Sub
nilem, здравствуйте! Для моей таблицы, подходит. Но можно ли без ограничения количества столбцов? Как я понимаю: .Resize(, 17)., указывает на количество столбцов в моей таблице (о боже, какой IQ ). А можно как-то более универсально прописать условия, что бы можно было применять макрос не изменяя в нем постоянно количество столбцов?
nilem, здравствуйте! Для моей таблицы, подходит. Но можно ли без ограничения количества столбцов? Как я понимаю: .Resize(, 17)., указывает на количество столбцов в моей таблице (о боже, какой IQ ). А можно как-то более универсально прописать условия, что бы можно было применять макрос не изменяя в нем постоянно количество столбцов?Лорик
... и Cancel = True все же д.б. в другом месте [vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Select Case Val(Target.EntireRow.Cells(1)) Case 2 Cancel = True: On Error Resume Next Range("последняя").Copy Range("последняя").EntireRow.Insert 'Вставляет строку перед установленной "последней" строкой Application.CutCopyMode = False Range("последняя").SpecialCells(2).ClearContents End Select End Sub
[/vba]
... и Cancel = True все же д.б. в другом месте [vba]
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Select Case Val(Target.EntireRow.Cells(1)) Case 2 Cancel = True: On Error Resume Next Range("последняя").Copy Range("последняя").EntireRow.Insert 'Вставляет строку перед установленной "последней" строкой Application.CutCopyMode = False Range("последняя").SpecialCells(2).ClearContents End Select End Sub
Всем доброго дня! Смотрю тема не закрыта, так что в продолжение обращаюсь снова за помощью. При помощи Ветеранов форума "изобразила" макрос вставки строки (по шаблону) в таблицу. Подскажите как прописать (в макросе) условие вставки определенного количества строк (шаблонов), исходя из значения указанного в нужной ячейке. Условия в файле (сохранен в формате 97-2003). [moder]Это уже другой вопрос, создайте новую тему[/moder]
Всем доброго дня! Смотрю тема не закрыта, так что в продолжение обращаюсь снова за помощью. При помощи Ветеранов форума "изобразила" макрос вставки строки (по шаблону) в таблицу. Подскажите как прописать (в макросе) условие вставки определенного количества строк (шаблонов), исходя из значения указанного в нужной ячейке. Условия в файле (сохранен в формате 97-2003). [moder]Это уже другой вопрос, создайте новую тему[/moder]Лорик