Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Вставить строку в раздел таблицы - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вставить строку в раздел таблицы (Макросы/Sub)
Вставить строку в раздел таблицы
Лорик Дата: Четверг, 02.04.2015, 06:18 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Доброго дня всем знатокам и любителям Excel!
В разделе таблицы добавляется новая строка (в случае такой необходимости). Добавление строки осуществляется дабл кликом на названии соответствующего раздела таблицы. Удалось "смонтировать" такой макрос (не без вашей форумчане помощи), но не удается небольшой момент. Прошу помочь, так как сама не знаю как это сделать. Условия в прилагаемом файле.
К сообщению приложен файл: 7571978.xls (35.5 Kb)
 
Ответить
СообщениеДоброго дня всем знатокам и любителям Excel!
В разделе таблицы добавляется новая строка (в случае такой необходимости). Добавление строки осуществляется дабл кликом на названии соответствующего раздела таблицы. Удалось "смонтировать" такой макрос (не без вашей форумчане помощи), но не удается небольшой момент. Прошу помочь, так как сама не знаю как это сделать. Условия в прилагаемом файле.

Автор - Лорик
Дата добавления - 02.04.2015 в 06:18
nilem Дата: Четверг, 02.04.2015, 06:59 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Лорик, привет
попробуйте так
[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
[/vba]


Яндекс.Деньги 4100159601573

Сообщение отредактировал nilem - Четверг, 02.04.2015, 07:01
 
Ответить
СообщениеЛорик, привет
попробуйте так
[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
[/vba]

Автор - nilem
Дата добавления - 02.04.2015 в 06:59
Лорик Дата: Четверг, 02.04.2015, 07:43 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
nilem, здравствуйте!
Для моей таблицы, подходит.
Но можно ли без ограничения количества столбцов? Как я понимаю: .Resize(, 17)., указывает на количество столбцов в моей таблице (о боже, какой IQ :D ). А можно как-то более универсально прописать условия, что бы можно было применять макрос не изменяя в нем постоянно количество столбцов?
 
Ответить
Сообщениеnilem, здравствуйте!
Для моей таблицы, подходит.
Но можно ли без ограничения количества столбцов? Как я понимаю: .Resize(, 17)., указывает на количество столбцов в моей таблице (о боже, какой IQ :D ). А можно как-то более универсально прописать условия, что бы можно было применять макрос не изменяя в нем постоянно количество столбцов?

Автор - Лорик
Дата добавления - 02.04.2015 в 07:43
ShAM Дата: Четверг, 02.04.2015, 08:02 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
Не нравится Resize уберите: [vba]
Код
Range("последняя").SpecialCells(2).ClearContents
[/vba]
 
Ответить
СообщениеНе нравится Resize уберите: [vba]
Код
Range("последняя").SpecialCells(2).ClearContents
[/vba]

Автор - ShAM
Дата добавления - 02.04.2015 в 08:02
nilem Дата: Четверг, 02.04.2015, 08:04 | Сообщение № 5
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
... и 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]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщение... и 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]

Автор - nilem
Дата добавления - 02.04.2015 в 08:04
Лорик Дата: Четверг, 02.04.2015, 08:26 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Спасибо вам, ВЕТЕРАНЫ! hands
Очень помогли.
 
Ответить
СообщениеСпасибо вам, ВЕТЕРАНЫ! hands
Очень помогли.

Автор - Лорик
Дата добавления - 02.04.2015 в 08:26
nilem Дата: Четверг, 02.04.2015, 08:32 | Сообщение № 7
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
[offtop]а точно, раньше вроде был какой-то другой ранг
теперь можно подписывать сообщения: С ветеранским приветом! :)[/offtop]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщение[offtop]а точно, раньше вроде был какой-то другой ранг
теперь можно подписывать сообщения: С ветеранским приветом! :)[/offtop]

Автор - nilem
Дата добавления - 02.04.2015 в 08:32
Лорик Дата: Четверг, 02.06.2016, 03:50 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 109
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Всем доброго дня!
Смотрю тема не закрыта, так что в продолжение обращаюсь снова за помощью.
При помощи Ветеранов форума "изобразила" макрос вставки строки (по шаблону) в таблицу. Подскажите как прописать (в макросе) условие вставки определенного количества строк (шаблонов), исходя из значения указанного в нужной ячейке. Условия в файле (сохранен в формате 97-2003).
[moder]Это уже другой вопрос, создайте новую тему[/moder]
К сообщению приложен файл: 4529190.xls (56.5 Kb)


Сообщение отредактировал Pelena - Четверг, 02.06.2016, 07:53
 
Ответить
СообщениеВсем доброго дня!
Смотрю тема не закрыта, так что в продолжение обращаюсь снова за помощью.
При помощи Ветеранов форума "изобразила" макрос вставки строки (по шаблону) в таблицу. Подскажите как прописать (в макросе) условие вставки определенного количества строк (шаблонов), исходя из значения указанного в нужной ячейке. Условия в файле (сохранен в формате 97-2003).
[moder]Это уже другой вопрос, создайте новую тему[/moder]

Автор - Лорик
Дата добавления - 02.06.2016 в 03:50
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вставить строку в раздел таблицы (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!