при использовании стандартных средств эксела удаление строки приводит к "сбитию настроек" а именно - последовательная нумерация в стролбце Е нарушается (это я победил более сложной чем А2=А1+1 формулой инкремента индекса) - нарушается УФ - для восстановления структуры строки (в ячейках есть ссылка на список) на новую строку нужно натягивать имеющуюся
поэтому попробовал решить проблему вставки и удаления строк макросом т.к. имею только 2010 (и не имею опыта внедрения кнопок АктивХ, которые бы перемещались по листу) , то в качестве кнопки добавления и удаления воспользовался УФ
вот макрос (недоделанный) [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' проверяем, что в фокусе одна ячейка, а не диапазон If Target.Cells.Count > 1 Then Exit Sub ' проверка нахождения фокуса в целевом диапазоне If Not Intersect(Target, Range("f3:j64")) Is Nothing Then Range("A3:A64").ClearContents Cells(Target.Row, 1) = " " ' помечаем строку для УФ Exit Sub End If ' проверяем попадание на столбец удаления If Not Intersect(Target, Range("d3:d64")) Is Nothing Then If Cells(Target.Row, 1) = " " Then ' проверяем, виден ли КРЕСТ УДАЛЕНИЯ 'Target.Row.Select 'Selection.Delete Shift:=xlUp End If End If ' проверяем попадание на столбец вставки If Not Intersect(Target, Range("c3:c64")) Is Nothing Then If Cells(Target.Row, 3) = 1 Then ' проверяем есть ли ПЛЮС ВСТАВКИ 'Target.Row.Insert End If End If End Sub
[/vba]
*** крестов удаления столько же, сколько строк. Плюсов вставки - по одному на фамилию. Может хватит и просто одной кнопки на всех?
*** т.к. доступ к книге расшарен, то хотелось бы после каждой правки задействовать команду сохранения. подскажите, как сохранить файл командой из макроса.
помогите, пожалуйста, с командой вставки строки и удалением мои жалки потуги ни к чему не привели, хелп тоже не помог
может есть более простой способ? правильно ли будет удалять сроку, а не сдвигать диапазон, не затрагивая нецелевые столбцы?
*** прим. Как сделать так, чтобы при копировании кода из VBA кириллица не превращалась в абракадабру?
файл сделан в 2010. Если конвертации что-то не будет работать, могу выслать в 2010. Скажите куда
*** промахнулся в названии - столбец ни при чем, речь исключительно о строках
есть лист, на котором список фамилий и фирм
на листе применено УФ
при использовании стандартных средств эксела удаление строки приводит к "сбитию настроек" а именно - последовательная нумерация в стролбце Е нарушается (это я победил более сложной чем А2=А1+1 формулой инкремента индекса) - нарушается УФ - для восстановления структуры строки (в ячейках есть ссылка на список) на новую строку нужно натягивать имеющуюся
поэтому попробовал решить проблему вставки и удаления строк макросом т.к. имею только 2010 (и не имею опыта внедрения кнопок АктивХ, которые бы перемещались по листу) , то в качестве кнопки добавления и удаления воспользовался УФ
вот макрос (недоделанный) [vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' проверяем, что в фокусе одна ячейка, а не диапазон If Target.Cells.Count > 1 Then Exit Sub ' проверка нахождения фокуса в целевом диапазоне If Not Intersect(Target, Range("f3:j64")) Is Nothing Then Range("A3:A64").ClearContents Cells(Target.Row, 1) = " " ' помечаем строку для УФ Exit Sub End If ' проверяем попадание на столбец удаления If Not Intersect(Target, Range("d3:d64")) Is Nothing Then If Cells(Target.Row, 1) = " " Then ' проверяем, виден ли КРЕСТ УДАЛЕНИЯ 'Target.Row.Select 'Selection.Delete Shift:=xlUp End If End If ' проверяем попадание на столбец вставки If Not Intersect(Target, Range("c3:c64")) Is Nothing Then If Cells(Target.Row, 3) = 1 Then ' проверяем есть ли ПЛЮС ВСТАВКИ 'Target.Row.Insert End If End If End Sub
[/vba]
*** крестов удаления столько же, сколько строк. Плюсов вставки - по одному на фамилию. Может хватит и просто одной кнопки на всех?
*** т.к. доступ к книге расшарен, то хотелось бы после каждой правки задействовать команду сохранения. подскажите, как сохранить файл командой из макроса.
помогите, пожалуйста, с командой вставки строки и удалением мои жалки потуги ни к чему не привели, хелп тоже не помог
может есть более простой способ? правильно ли будет удалять сроку, а не сдвигать диапазон, не затрагивая нецелевые столбцы?
*** прим. Как сделать так, чтобы при копировании кода из VBA кириллица не превращалась в абракадабру?
файл сделан в 2010. Если конвертации что-то не будет работать, могу выслать в 2010. Скажите куда
*** промахнулся в названии - столбец ни при чем, речь исключительно о строкахкарандаш
выход из положения - наделать побольше "запасных" (пустых) строк и защитить лист тогда удаление и вставка строк невозможны остается ручками время от времени добавлять строки и расширять диапазон для редактирования и обработки макросом
выход из положения - наделать побольше "запасных" (пустых) строк и защитить лист тогда удаление и вставка строк невозможны остается ручками время от времени добавлять строки и расширять диапазон для редактирования и обработки макросом