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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос - запоминает предыдущее содержание буфера обмена - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос - запоминает предыдущее содержание буфера обмена (Макросы/Sub)
Макрос - запоминает предыдущее содержание буфера обмена
cerber412 Дата: Пятница, 24.03.2017, 00:06 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте, уважаемые программисты.
Помогите разобраться.

На листе выполняется макрос Калькулейт, заключающийся в перемещении значений диапазона B3:C5 - в диапазон H3:I5
Однако при этой операции - то содержание буфера обмена, которое было при копировании - части содержимого ячейки - теряется.
Обязательное условие: макрос использует именно буфер обмена.

Как осуществить следующую операцию: зайти в желтую ячейку C15, скопировать из текста "5167" - часть, например числа "16" в буфер обмена, и вставить в зеленую ячейку H15 (обойдя смену содержимого буфера обмена - от макроса Calculate) ?
То есть - как заставить макрос - вспомнить каким содержимым буфер обмена был заполнен одну операцию назад?

Макрос должен каким-то образом запомнить, что было в буфере обмена - одну операцию назад... и снова заполниться предыдущим содержимым буфера, после выполнения основной операции Calculate.
К сообщению приложен файл: 3453.xls (47.0 Kb)
 
Ответить
СообщениеЗдравствуйте, уважаемые программисты.
Помогите разобраться.

На листе выполняется макрос Калькулейт, заключающийся в перемещении значений диапазона B3:C5 - в диапазон H3:I5
Однако при этой операции - то содержание буфера обмена, которое было при копировании - части содержимого ячейки - теряется.
Обязательное условие: макрос использует именно буфер обмена.

Как осуществить следующую операцию: зайти в желтую ячейку C15, скопировать из текста "5167" - часть, например числа "16" в буфер обмена, и вставить в зеленую ячейку H15 (обойдя смену содержимого буфера обмена - от макроса Calculate) ?
То есть - как заставить макрос - вспомнить каким содержимым буфер обмена был заполнен одну операцию назад?

Макрос должен каким-то образом запомнить, что было в буфере обмена - одну операцию назад... и снова заполниться предыдущим содержимым буфера, после выполнения основной операции Calculate.

Автор - cerber412
Дата добавления - 24.03.2017 в 00:06
KuklP Дата: Пятница, 24.03.2017, 01:33 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Может Вам ЭТО надо?
[vba]
Код
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
    Application.EnableEvents = 0
    Sheets("Лист3").Range("B3:C5").Copy Sheets("Лист3").Range("H3")
    Application.EnableEvents = -1
End Sub
[/vba]или если достаточно значений:
[vba]
Код
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
    Application.EnableEvents = 0
    Sheets("Лист3").Range("H3:i5").Value = Sheets("Лист3").Range("B3:C5").Value
    Application.EnableEvents = -1
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Пятница, 24.03.2017, 01:43
 
Ответить
СообщениеМожет Вам ЭТО надо?
[vba]
Код
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
    Application.EnableEvents = 0
    Sheets("Лист3").Range("B3:C5").Copy Sheets("Лист3").Range("H3")
    Application.EnableEvents = -1
End Sub
[/vba]или если достаточно значений:
[vba]
Код
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
    Application.EnableEvents = 0
    Sheets("Лист3").Range("H3:i5").Value = Sheets("Лист3").Range("B3:C5").Value
    Application.EnableEvents = -1
End Sub
[/vba]

Автор - KuklP
Дата добавления - 24.03.2017 в 01:33
cerber412 Дата: Пятница, 24.03.2017, 06:46 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 131
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
KuklP, Второй код вроде работает. Спасибо.
 
Ответить
СообщениеKuklP, Второй код вроде работает. Спасибо.

Автор - cerber412
Дата добавления - 24.03.2017 в 06:46
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос - запоминает предыдущее содержание буфера обмена (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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