|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.03.2013, 16:17 | #1 |
Форумчанин
Регистрация: 03.04.2010
Сообщений: 118
|
Макрос для удаления заполненой строки таблицы, поправить
Добрый день
Ув, макрописцы! Гляньте пожалуйста, что в этом макросе сделано неправильно? Макрос «УдалениеСтроки3», должен кажды раз, удалять только одну заполненную строку, именно, из таблицы. И, именно строку, на которой установлен курсор. А если курсор находится на пустых ячейках: выше, ниже или справа таблицы, выдает сообщение «Вставте курсор в удаляемую строку таблицы». И саму активную строку не удаляет. В настоящий момент, макрос свою основную задачу, выполняет, Но допускает две существенные ошибки. 1) При нахождении курсора на удаляемой строке внутри таблицы, сначала выдает нежелательное, в таком случае, сообщение «Вставте курсор в удаляемую строку таблицы», И, только после снятия этого сообщения, начинает процесс удаления активной строки. 2) Причем, удаляет ее и тогда, когда курсор стоит на пустой ячейке удаляемой строки, справа от таблицы, что также нежелательно. Как избежать этих ошибок? Причем, вариант с применением именованного диапазона, я знаю, но он мне не подходит Последний раз редактировалось Робин; 13.03.2013 в 16:37. |
13.03.2013, 16:38 | #2 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Код:
Правильно поставленная задача - три четверти решения.
|
13.03.2013, 17:35 | #3 |
Форумчанин
Регистрация: 03.04.2010
Сообщений: 118
|
Хороший макрос. Пригодится в будушем. Спасибо.
А сейчас мне надо удалять только одну строку. И, чтобы в окошке, отображалось содержимое активной ячейки, а не номер удаляемой строки. |
13.03.2013, 17:37 | #4 |
Форумчанин
Регистрация: 03.04.2010
Сообщений: 118
|
Хороший макрос. Пригодится в будушем. Спасибо.
А сейчас мне надо удалять только одну строку. И, чтобы в окошке, отображалось содержимое активной ячейки, а не номер удаляемой строки. |
14.03.2013, 08:27 | #5 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Код:
Правильно поставленная задача - три четверти решения.
|
14.03.2013, 11:31 | #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 Не совсем уверен что правильно, но тоже работает. И обнаружил маленький недостаток. На шапке таблицы удаление тоже срабатывает. Но с этим можна мириться. |
14.03.2013, 11:51 | #7 | ||
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Цитата:
Цитата:
И еще одно замечание - используя Selection у вас будут удаляться и проверяться несколько строк. Попробуйте выделить не одну ячейку , а область, и у посмотрите на результат. Нужно использовать либо Selection.Rows(1), либо ActiveCell (что проще), либо Selection.Cells(1,1)
Правильно поставленная задача - три четверти решения.
|
||
14.03.2013, 13:43 | #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 |