![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 03.04.2010
Сообщений: 118
|
![]()
Добрый день
Ув, макрописцы! Гляньте пожалуйста, что в этом макросе сделано неправильно? Макрос «УдалениеСтроки3», должен кажды раз, удалять только одну заполненную строку, именно, из таблицы. И, именно строку, на которой установлен курсор. А если курсор находится на пустых ячейках: выше, ниже или справа таблицы, выдает сообщение «Вставте курсор в удаляемую строку таблицы». И саму активную строку не удаляет. В настоящий момент, макрос свою основную задачу, выполняет, Но допускает две существенные ошибки. 1) При нахождении курсора на удаляемой строке внутри таблицы, сначала выдает нежелательное, в таком случае, сообщение «Вставте курсор в удаляемую строку таблицы», И, только после снятия этого сообщения, начинает процесс удаления активной строки. 2) Причем, удаляет ее и тогда, когда курсор стоит на пустой ячейке удаляемой строки, справа от таблицы, что также нежелательно. Как избежать этих ошибок? Причем, вариант с применением именованного диапазона, я знаю, но он мне не подходит Последний раз редактировалось Робин; 13.03.2013 в 16:37. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
![]() Код:
Правильно поставленная задача - три четверти решения.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 03.04.2010
Сообщений: 118
|
![]()
Хороший макрос. Пригодится в будушем. Спасибо.
А сейчас мне надо удалять только одну строку. И, чтобы в окошке, отображалось содержимое активной ячейки, а не номер удаляемой строки. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 03.04.2010
Сообщений: 118
|
![]()
Хороший макрос. Пригодится в будушем. Спасибо.
А сейчас мне надо удалять только одну строку. И, чтобы в окошке, отображалось содержимое активной ячейки, а не номер удаляемой строки. |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
![]() Код:
Правильно поставленная задача - три четверти решения.
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 03.04.2010
Сообщений: 118
|
![]()
Добрый день
DiemonStar еще раз СПАСИБо. Работает. А сам я вчера, вот так сделал Sub УдалитьСтроку() If Intersect(ActiveSheet.[A3].CurrentRegion, Selection) Is Nothing Then MsgBox "Вставьте курсор в удаляемую строку таблицы" Else If MsgBox("Удалить строку с данными: " & ActiveCell.Value, vbYesNo, "Удаление строки") = vbNo Then Exit Sub 'GoTo 20 Application.ScreenUpdating = False Selection.EntireRow.Delete xlShiftUp Application.ScreenUpdating = True MsgBox "Рядок видалений!", 64, "" End If End Sub Не совсем уверен что правильно, но тоже работает. И обнаружил маленький недостаток. На шапке таблицы удаление тоже срабатывает. Но с этим можна мириться. |
![]() |
![]() |
![]() |
#7 | ||
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
![]() Цитата:
Цитата:
И еще одно замечание - используя Selection у вас будут удаляться и проверяться несколько строк. Попробуйте выделить не одну ячейку , а область, и у посмотрите на результат. Нужно использовать либо Selection.Rows(1), либо ActiveCell (что проще), либо Selection.Cells(1,1)
Правильно поставленная задача - три четверти решения.
|
||
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 03.04.2010
Сообщений: 118
|
![]()
Ув. DiemonStar, главное понял.Остается только запрмнить нюансы. Думаю что с практическим опытом, все станет на свои места.
Еще раз большое вам СПАСИБО за быструю и качественную помощь! |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Макрос для удаления строки | julius | Microsoft Office Excel | 28 | 03.10.2014 00:19 |
макрос Excel для удаления не нужных значений в солбце | kroshik | Помощь студентам | 0 | 24.12.2012 06:32 |
Макрос для удаления ненужной части строки | Nikita Bash | Microsoft Office Excel | 2 | 09.06.2012 08:18 |
макрос для удаления строк??? | mixa2997510 | Microsoft Office Excel | 3 | 21.05.2012 13:38 |
Макрос для удаления повторяющихся строк | Jelena_bsb | Microsoft Office Excel | 3 | 05.08.2010 13:34 |