День добрый друзья, господа и товарищи! Вопрос на засыпку. Почему на одной странице макросы работают, а на другой (См. Списки) не работает? С ув. Муля!
День добрый друзья, господа и товарищи! Вопрос на засыпку. Почему на одной странице макросы работают, а на другой (См. Списки) не работает? С ув. Муля!Муля2010
Почему на одной странице макросы работают, а на другой (См. Списки) не работает?
Потому что макрос написан для одного расположения данных, а у Вас на листе "Список" оно совсем другое. Я скопировал шапку с листа "04.2010" и вставил её на 17-ю и 18-ю строку листа "Список"- строки вставляются.
Quote (Муля2010)
Почему на одной странице макросы работают, а на другой (См. Списки) не работает?
Потому что макрос написан для одного расположения данных, а у Вас на листе "Список" оно совсем другое. Я скопировал шапку с листа "04.2010" и вставил её на 17-ю и 18-ю строку листа "Список"- строки вставляются.Serge_007
в модуле Лист1 (Списки) удали первую строку Option Explicit или объяви переменную i. Также могу заметить, что структура кода не рациональна и избыточна
в модуле Лист1 (Списки) удали первую строку Option Explicit или объяви переменную i. Также могу заметить, что структура кода не рациональна и избыточнаСаня
в модуле Лист1 (Списки) удали первую строку Option Explicit или объяви переменную i.
Ув. аналитик! Большущее Вам СПАСИБО! Заработало И вопрос. Какую роль вообще эта удаленная строка играет? Потому что я, например, применяю ее с мыслю, что она оптимизирует работу макросов.
Также могу заметить, что структура кода не рациональна и избыточна
Пожалуйста! Если вам не трудно, рацинализируйте. Потому что я только учусь. С ув. Муля!
Quote (аналитика)
в модуле Лист1 (Списки) удали первую строку Option Explicit или объяви переменную i.
Ув. аналитик! Большущее Вам СПАСИБО! Заработало И вопрос. Какую роль вообще эта удаленная строка играет? Потому что я, например, применяю ее с мыслю, что она оптимизирует работу макросов.
Также могу заметить, что структура кода не рациональна и избыточна
Пожалуйста! Если вам не трудно, рацинализируйте. Потому что я только учусь. С ув. Муля!
Option Explicit (Опция Явный) строка опции обязывает явно объявлять переменные (в коде формы у тебя прекрасно видно объявление переменных "Dim ..."), если ее нет и нет объявления, все переменные принимают тип Variant - как следствие нерациональное использование памяти, трудность поиска ошибок... у тебя были две пары идентичных (за исключением диапазона пересечения) процедур - сделал две параметрических процедуры (см. вложение) книжку почитай...
Option Explicit (Опция Явный) строка опции обязывает явно объявлять переменные (в коде формы у тебя прекрасно видно объявление переменных "Dim ..."), если ее нет и нет объявления, все переменные принимают тип Variant - как следствие нерациональное использование памяти, трудность поиска ошибок... у тебя были две пары идентичных (за исключением диапазона пересечения) процедур - сделал две параметрических процедуры (см. вложение) книжку почитай...Саня
Доброго дня всем ! Ув. аналитика! Все хорошо работает. Но есть один казус. При добавлении строк на листе Списки, в случае если курсор стоит на пустой ячейке, выпадает окно-сообщение об ошибке. Такое же случается и на листе 04.2010. Но немножко в другом варианте. Например, если я добавляю строку в средине заполненых строк, а потом, стоя на ней, пытаюсь добавить еще строку.А вот в конце таблицы - строки добавляются. С ув. Муля!
Доброго дня всем ! Ув. аналитика! Все хорошо работает. Но есть один казус. При добавлении строк на листе Списки, в случае если курсор стоит на пустой ячейке, выпадает окно-сообщение об ошибке. Такое же случается и на листе 04.2010. Но немножко в другом варианте. Например, если я добавляю строку в средине заполненых строк, а потом, стоя на ней, пытаюсь добавить еще строку.А вот в конце таблицы - строки добавляются. С ув. Муля!Муля2010
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]