На листе выполняется макрос Калькулейт, заключающийся в перемещении значений диапазона B3:C5 - в диапазон H3:I5 Однако при этой операции - то содержание буфера обмена, которое было при копировании - части содержимого ячейки - теряется. Обязательное условие: макрос использует именно буфер обмена.
Как осуществить следующую операцию: зайти в желтую ячейку C15, скопировать из текста "5167" - часть, например числа "16" в буфер обмена, и вставить в зеленую ячейку H15 (обойдя смену содержимого буфера обмена - от макроса Calculate) ? То есть - как заставить макрос - вспомнить каким содержимым буфер обмена был заполнен одну операцию назад?
Макрос должен каким-то образом запомнить, что было в буфере обмена - одну операцию назад... и снова заполниться предыдущим содержимым буфера, после выполнения основной операции Calculate.
На листе выполняется макрос Калькулейт, заключающийся в перемещении значений диапазона B3:C5 - в диапазон H3:I5 Однако при этой операции - то содержание буфера обмена, которое было при копировании - части содержимого ячейки - теряется. Обязательное условие: макрос использует именно буфер обмена.
Как осуществить следующую операцию: зайти в желтую ячейку C15, скопировать из текста "5167" - часть, например числа "16" в буфер обмена, и вставить в зеленую ячейку H15 (обойдя смену содержимого буфера обмена - от макроса Calculate) ? То есть - как заставить макрос - вспомнить каким содержимым буфер обмена был заполнен одну операцию назад?
Макрос должен каким-то образом запомнить, что было в буфере обмена - одну операцию назад... и снова заполниться предыдущим содержимым буфера, после выполнения основной операции Calculate.cerber412
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]
Может Вам ЭТО надо? [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