[英]Copy 10 cells' content to Windows Clipboard and pass to another program one by one through vba
我試圖將10個單元格一一復制到Windows剪貼板中,以便我的剪貼板管理器軟件(Ditto)抓取它們,然后在其他地方使用這些復制的內容。 但是,似乎excel會等到子例程結束,然后將最后復制的項目放入Windows剪貼板中。 我嘗試了這個 ,使用sleep()
sendkeys "^c"
,還嘗試了每個單元格的range().copy
在for
循環中執行復制過程,但是每次我只有Ditto中可用的最后一個單元格的內容時。
Sub copy()
Dim r As Integer
Dim c As Integer
r = ActiveCell.Row
For c = 1 To 10
Cells(r, c).copy
Next c
End Sub
當此子項結束時,我在Ditto中的內容是最后一個單元格的內容,而如果我在Excel中一個接一個地手動復制單元格,則每個單元格在Ditto中可用。 我正在嘗試實現手動處理的結果,但可以通過vba進行。
這就是我解決的方法:我在每個剪貼板副本之間添加了2秒的延遲(少於它不會起作用的時間)
這是我的代碼:
Sub DittoTest()
Dim r As Integer
Dim c As Integer
c = ActiveCell.Column
For r = 1 To 100
If Cells(r, c).Value = "" Then Exit For
Cells(r, c).copy
'MsgBox "ligne " & r & " : " & Cells(r, c).Value
Application.Wait (Now + TimeValue("0:00:02"))
Next r
MsgBox r & " ligne(s) copiée(s)"
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.