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

Вход

Регистрация

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

 

= Мир MS Excel/Некорректная выполнение макроса c режимом "Ctrl+C" - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Некорректная выполнение макроса c режимом "Ctrl+C" (Макросы/Sub)
Некорректная выполнение макроса c режимом "Ctrl+C"
artika2000 Дата: Суббота, 12.03.2016, 10:39 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день.
Имеется рабочий макрос, который вполне справляется с поставленной задачей, но если в процессе работы "забыть" и оставить на листе, совершенно не задействованному в макросе, область в режиме "Ctrl+C" и выполнить макрос - он выполняется некорректно.
Подскажите, это решается банально только тем что - "не надо забывать" или ... прошу помочь.
Заранее благодарен.
С уважением, Артем.
К сообщению приложен файл: primer.xls(48Kb) · primer.xlsm(19Kb)
 
Ответить
СообщениеДобрый день.
Имеется рабочий макрос, который вполне справляется с поставленной задачей, но если в процессе работы "забыть" и оставить на листе, совершенно не задействованному в макросе, область в режиме "Ctrl+C" и выполнить макрос - он выполняется некорректно.
Подскажите, это решается банально только тем что - "не надо забывать" или ... прошу помочь.
Заранее благодарен.
С уважением, Артем.

Автор - artika2000
Дата добавления - 12.03.2016 в 10:39
vikttur Дата: Суббота, 12.03.2016, 11:35 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2029
Репутация: 355 ±
Замечаний: 0% ±

Уберите (закомментируйте):
[vba]
Код
Sheets("Просчеты").Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
[/vba]

Снять выделение:
[vba]
Код
Application.CutCopyMode = False
[/vba]
 
Ответить
СообщениеУберите (закомментируйте):
[vba]
Код
Sheets("Просчеты").Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
[/vba]

Снять выделение:
[vba]
Код
Application.CutCopyMode = False
[/vba]

Автор - vikttur
Дата добавления - 12.03.2016 в 11:35
artika2000 Дата: Суббота, 12.03.2016, 11:56 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
vikttur, здравствуйте. Спасибо за ответ

Прошу прощения, но вы предлагаете убрать :
Sheets("Просчеты").Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

но ведь это добавляет всегда вторую строку в лист "Просчеты", мне это необходимо, записывать каждые новые данные, сохраняя прежние...удаление ее - потеря смысла записи данных новых и сохранения старых, задача не выполняется

Прописал в макросе, Ваши рекомендации, к сожалению не получается у меня, все равно при "Сtrl+C" какие-то куски с листа выдираются или происходит смещение диапазона.

И, извините, :-) как выделить все курсором я понимаю, а как потом нажать # - не знаю, извините, у меня стирается вся строка и появляется только "#"
 
Ответить
Сообщениеvikttur, здравствуйте. Спасибо за ответ

Прошу прощения, но вы предлагаете убрать :
Sheets("Просчеты").Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

но ведь это добавляет всегда вторую строку в лист "Просчеты", мне это необходимо, записывать каждые новые данные, сохраняя прежние...удаление ее - потеря смысла записи данных новых и сохранения старых, задача не выполняется

Прописал в макросе, Ваши рекомендации, к сожалению не получается у меня, все равно при "Сtrl+C" какие-то куски с листа выдираются или происходит смещение диапазона.

И, извините, :-) как выделить все курсором я понимаю, а как потом нажать # - не знаю, извините, у меня стирается вся строка и появляется только "#"

Автор - artika2000
Дата добавления - 12.03.2016 в 11:56
KuklP Дата: Суббота, 12.03.2016, 12:05 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 1994
Репутация: 435 ±
Замечаний: 0% ±

Ну так и поставьте вначале макроса то что Виктор написал:
[vba]
Код
Application.CutCopyMode = False
[/vba]
К сообщению приложен файл: 5494398.gif(19Kb)


Ну, с НДС и мы чего-то стoим! kuklp@mail.ru
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Суббота, 12.03.2016, 12:08
 
Ответить
СообщениеНу так и поставьте вначале макроса то что Виктор написал:
[vba]
Код
Application.CutCopyMode = False
[/vba]

Автор - KuklP
Дата добавления - 12.03.2016 в 12:05
artika2000 Дата: Суббота, 12.03.2016, 14:31 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
KuklP, и vikttur, Спасибо Вам большое. Разобрался.
Благодарю Вас за помощь.
не обязательно, но все же, спрошу, каким все таки образом вставляются эти куски, не прописанные в макросе, если не прописывать
[vba]
Код
Application.CutCopyMode = False
[/vba]

это значит при выполнении любого макроса надо начинать с этой строки? ведь вариант что где-то в книге выделена случайно CTRl+C область нельзя исключать, и почему макрос не работает именно в режиме "CTRl+C"...
Ответ на Ваше усмотрение, спасибо Вам.
 
Ответить
СообщениеKuklP, и vikttur, Спасибо Вам большое. Разобрался.
Благодарю Вас за помощь.
не обязательно, но все же, спрошу, каким все таки образом вставляются эти куски, не прописанные в макросе, если не прописывать
[vba]
Код
Application.CutCopyMode = False
[/vba]

это значит при выполнении любого макроса надо начинать с этой строки? ведь вариант что где-то в книге выделена случайно CTRl+C область нельзя исключать, и почему макрос не работает именно в режиме "CTRl+C"...
Ответ на Ваше усмотрение, спасибо Вам.

Автор - artika2000
Дата добавления - 12.03.2016 в 14:31
vikttur Дата: Суббота, 12.03.2016, 15:01 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2029
Репутация: 355 ±
Замечаний: 0% ±

Не анализируете то, что Вам пишут.
Закомментировать вставку строки. Нет лишнего копирования. Вывод: проблема в строке кода.
И, кстати, заметили,что значения вставляются не в нужные ячейки, а во все ячейки строки.

А не всегда умный макрорекодер на этот раз проявляет бдительность, если перед записью макроса чего-то запомнили (Ctrl+C):
[vba]
Код
    Rows("2:2").Select
    Application.CutCopyMode = False
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
[/vba]
О чем это говорит? Да, нужно сначала избавиться от груза в буфере обмена


Сообщение отредактировал vikttur - Суббота, 12.03.2016, 15:14
 
Ответить
СообщениеНе анализируете то, что Вам пишут.
Закомментировать вставку строки. Нет лишнего копирования. Вывод: проблема в строке кода.
И, кстати, заметили,что значения вставляются не в нужные ячейки, а во все ячейки строки.

А не всегда умный макрорекодер на этот раз проявляет бдительность, если перед записью макроса чего-то запомнили (Ctrl+C):
[vba]
Код
    Rows("2:2").Select
    Application.CutCopyMode = False
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
[/vba]
О чем это говорит? Да, нужно сначала избавиться от груза в буфере обмена

Автор - vikttur
Дата добавления - 12.03.2016 в 15:01
KuklP Дата: Суббота, 12.03.2016, 15:20 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 1994
Репутация: 435 ±
Замечаний: 0% ±

каким все таки образом вставляются эти куски
Insert это и есть команда вставки, можете посмотреть в словаре.
при выполнении любого макроса надо начинать с этой строки?
А разве в любом макросе есть команды вставки? А разве в экселе единственным заятием пользователей является копипаст? Мне вот ни разу почти за четверть века работы в Эксе копирование не помешало. Если бы не Ваш случай и не знал бы..


Ну, с НДС и мы чего-то стoим! kuklp@mail.ru
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
каким все таки образом вставляются эти куски
Insert это и есть команда вставки, можете посмотреть в словаре.
при выполнении любого макроса надо начинать с этой строки?
А разве в любом макросе есть команды вставки? А разве в экселе единственным заятием пользователей является копипаст? Мне вот ни разу почти за четверть века работы в Эксе копирование не помешало. Если бы не Ваш случай и не знал бы..

Автор - KuklP
Дата добавления - 12.03.2016 в 15:20
artika2000 Дата: Воскресенье, 13.03.2016, 16:00 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
vikttur, KuklP, Спасибо Вам большое, благодарю Вас.
Спасибо за помощь!
 
Ответить
Сообщениеvikttur, KuklP, Спасибо Вам большое, благодарю Вас.
Спасибо за помощь!

Автор - artika2000
Дата добавления - 13.03.2016 в 16:00
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Некорректная выполнение макроса c режимом "Ctrl+C" (Макросы/Sub)
Страница 1 из 11
Поиск:

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