返回列表 上一主題 發帖

[發問] 如何在worksheet avtivate 之後仍保留剪貼簿的資料?

[發問] 如何在worksheet avtivate 之後仍保留剪貼簿的資料?

各位大大好,

小弟的問題在於
假設我有A、B兩個分頁
都有設定Worksheet activate

所以當我以人工的方式從A分頁複製客戶姓名
點選B分頁,接著進行貼上的時候

就會發現剪貼簿被清空了

因為activate的時候已經執行過巨集

有甚麼方式可以在執行VBA之後仍保留剪貼簿的資料嗎?
PKKO

可以用
Application.CutCopyMode =true
Application.CutCopyMode =false
來偵測~

TOP

回復 1# PKKO


A、B兩個分頁都有設定Worksheet activate  
所以, ACTIVATE後有程式運作, 改變了工作表, 也取消了COPYMODE,
工作表事件小心運用, 常常會讓某些基本操作無法使用, 如"貼上"或"復原"

TOP

回復  PKKO


A、B兩個分頁都有設定Worksheet activate  
所以, ACTIVATE後有程式運作, 改變了工作表, ...
准提部林 發表於 2020-12-15 10:59


大大您說的部份沒錯
但有解決的方式嗎?

可以將剪貼簿保存起來的方法嗎?
PKKO

TOP

回復 4# PKKO


Private Sub Worksheet_Activate()
If Application.CutCopyMode Then Exit Sub
其它執行程式
End Sub

TOP

回復 4# PKKO
簡單點的話就是在進入你的處理程式之前先把剪切板所有內容保存起來,所有處理完成后,在激活另一個工作表avtivate時,再把保存的內容恢復回剪切板內。
當然,還有更簡單的方式就是找到自己代碼內影響到剪切板內容的代碼,想辦法讓它不要影響到剪切板或是用其它不會影響到剪切板內容的代碼替換。
世界那麼大,可我想去哪?

TOP

        靜思自在 : 屋寬不如心寬。
返回列表 上一主題