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

Вход

Регистрация

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

 

= Мир MS Excel/Еще раз об удалении\добавлении строк - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Еще раз об удалении\добавлении строк
Муля2010 Дата: Четверг, 07.10.2010, 17:18 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 290
Репутация: 12 ±
Замечаний: 0% ±

День добрый друзья, господа и товарищи!
Вопрос на засыпку.
Почему на одной странице макросы работают, а на другой (См. Списки) не работает?
С ув. Муля!
К сообщению приложен файл: 0095583.rar (31.4 Kb)


С ув. Муля!
 
Ответить
СообщениеДень добрый друзья, господа и товарищи!
Вопрос на засыпку.
Почему на одной странице макросы работают, а на другой (См. Списки) не работает?
С ув. Муля!

Автор - Муля2010
Дата добавления - 07.10.2010 в 17:18
Serge_007 Дата: Четверг, 07.10.2010, 17:49 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Муля2010)
Почему на одной странице макросы работают, а на другой (См. Списки) не работает?

Потому что макрос написан для одного расположения данных, а у Вас на листе "Список" оно совсем другое.
Я скопировал шапку с листа "04.2010" и вставил её на 17-ю и 18-ю строку листа "Список"- строки вставляются.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Муля2010)
Почему на одной странице макросы работают, а на другой (См. Списки) не работает?

Потому что макрос написан для одного расположения данных, а у Вас на листе "Список" оно совсем другое.
Я скопировал шапку с листа "04.2010" и вставил её на 17-ю и 18-ю строку листа "Список"- строки вставляются.

Автор - Serge_007
Дата добавления - 07.10.2010 в 17:49
Саня Дата: Четверг, 07.10.2010, 17:50 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
в модуле Лист1 (Списки) удали первую строку Option Explicit или объяви переменную i.
Также могу заметить, что структура кода не рациональна и избыточна
 
Ответить
Сообщениев модуле Лист1 (Списки) удали первую строку Option Explicit или объяви переменную i.
Также могу заметить, что структура кода не рациональна и избыточна

Автор - Саня
Дата добавления - 07.10.2010 в 17:50
Муля2010 Дата: Четверг, 07.10.2010, 18:32 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 290
Репутация: 12 ±
Замечаний: 0% ±

Quote (аналитика)
в модуле Лист1 (Списки) удали первую строку Option Explicit или объяви переменную i.

Ув. аналитик!
Большущее Вам СПАСИБО! Заработало
И вопрос. Какую роль вообще эта удаленная строка играет?
Потому что я, например, применяю ее с мыслю, что она оптимизирует работу макросов.

Также могу заметить, что структура кода не рациональна и избыточна

Пожалуйста! Если вам не трудно, рацинализируйте. Потому что я только учусь.
С ув. Муля!



С ув. Муля!

Сообщение отредактировал Муля2010 - Четверг, 07.10.2010, 18:36
 
Ответить
Сообщение
Quote (аналитика)
в модуле Лист1 (Списки) удали первую строку Option Explicit или объяви переменную i.

Ув. аналитик!
Большущее Вам СПАСИБО! Заработало
И вопрос. Какую роль вообще эта удаленная строка играет?
Потому что я, например, применяю ее с мыслю, что она оптимизирует работу макросов.

Также могу заметить, что структура кода не рациональна и избыточна

Пожалуйста! Если вам не трудно, рацинализируйте. Потому что я только учусь.
С ув. Муля!


Автор - Муля2010
Дата добавления - 07.10.2010 в 18:32
Саня Дата: Четверг, 07.10.2010, 23:28 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
Option Explicit (Опция Явный)
строка опции обязывает явно объявлять переменные (в коде формы у тебя прекрасно видно объявление переменных "Dim ..."), если ее нет и нет объявления, все переменные принимают тип Variant - как следствие нерациональное использование памяти, трудность поиска ошибок...
у тебя были две пары идентичных (за исключением диапазона пересечения) процедур - сделал две параметрических процедуры (см. вложение)
книжку почитай...
К сообщению приложен файл: 9391354.rar (31.6 Kb)
 
Ответить
СообщениеOption Explicit (Опция Явный)
строка опции обязывает явно объявлять переменные (в коде формы у тебя прекрасно видно объявление переменных "Dim ..."), если ее нет и нет объявления, все переменные принимают тип Variant - как следствие нерациональное использование памяти, трудность поиска ошибок...
у тебя были две пары идентичных (за исключением диапазона пересечения) процедур - сделал две параметрических процедуры (см. вложение)
книжку почитай...

Автор - Саня
Дата добавления - 07.10.2010 в 23:28
Муля2010 Дата: Суббота, 09.10.2010, 12:21 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 290
Репутация: 12 ±
Замечаний: 0% ±

Доброго дня всем !
Ув. аналитика!
Все хорошо работает. Но есть один казус.
При добавлении строк на листе Списки, в случае если курсор стоит на пустой ячейке, выпадает окно-сообщение об ошибке. Такое же случается и на листе 04.2010. Но немножко в другом варианте.
Например, если я добавляю строку в средине заполненых строк, а потом, стоя на ней, пытаюсь добавить еще строку.А вот в конце таблицы - строки добавляются.
С ув. Муля!


С ув. Муля!
 
Ответить
СообщениеДоброго дня всем !
Ув. аналитика!
Все хорошо работает. Но есть один казус.
При добавлении строк на листе Списки, в случае если курсор стоит на пустой ячейке, выпадает окно-сообщение об ошибке. Такое же случается и на листе 04.2010. Но немножко в другом варианте.
Например, если я добавляю строку в средине заполненых строк, а потом, стоя на ней, пытаюсь добавить еще строку.А вот в конце таблицы - строки добавляются.
С ув. Муля!

Автор - Муля2010
Дата добавления - 09.10.2010 в 12:21
Саня Дата: Суббота, 09.10.2010, 22:08 | Сообщение № 7
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
[vba]
Код
   If optbUp Then 'строки внутри конструкции If...End If не стабильны!!!
        Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row + CLng(txtbRowKol) - 1, Columns.Count)).SpecialCells(xlCellTypeConstants).ClearContents
     Else
        Range(Cells(ActiveCell.Row + 1, 1), Cells(ActiveCell.Row + CLng(txtbRowKol), Columns.Count)).SpecialCells(xlCellTypeConstants).ClearContents
     End If
[/vba]
я тебе комментарий писал, логику алгоритма я не стал вычислять...
перед первой строкой части кода (см. выше) вставь след:
[vba]
Код
on error resume next
[/vba]
 
Ответить
Сообщение[vba]
Код
   If optbUp Then 'строки внутри конструкции If...End If не стабильны!!!
        Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row + CLng(txtbRowKol) - 1, Columns.Count)).SpecialCells(xlCellTypeConstants).ClearContents
     Else
        Range(Cells(ActiveCell.Row + 1, 1), Cells(ActiveCell.Row + CLng(txtbRowKol), Columns.Count)).SpecialCells(xlCellTypeConstants).ClearContents
     End If
[/vba]
я тебе комментарий писал, логику алгоритма я не стал вычислять...
перед первой строкой части кода (см. выше) вставь след:
[vba]
Код
on error resume next
[/vba]

Автор - Саня
Дата добавления - 09.10.2010 в 22:08
Муля2010 Дата: Воскресенье, 10.10.2010, 01:22 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 290
Репутация: 12 ±
Замечаний: 0% ±

Ув. аналитика!
Теперь все работает как надо.
Большущее СПАСИБО!


С ув. Муля!
 
Ответить
СообщениеУв. аналитика!
Теперь все работает как надо.
Большущее СПАСИБО!

Автор - Муля2010
Дата добавления - 10.10.2010 в 01:22
  • Страница 1 из 1
  • 1
Поиск:

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