我正在嘗試創建一個按鈕,該按鈕將過濾表格,從單元格 D6 中選擇和復制資料,并將范圍為 D13 到 D9999 的過濾表格中的可見資料復制到剪貼板,以便我可以使用該資訊將其粘貼到其他任何地方例如 Word、記事本、一個便箋等,使用 CTRL V。我已經撰寫了這段代碼,但是當我按 CTRL V 時沒有粘貼任何內容。我認為這與我最終所做的未過濾有關。但這很重要。我如何讓這個作業?
Dim ws As Worksheet
Set ws = Worksheets("Cost")
ws.Range("D13:D9999").AutoFilter field:=1, Criteria1:=RGB(255, 255, 0), Operator:=xlFilterCellColor
Range("D6","D13:D9999").Select
Selection.COPY
ws.Range("D13:D9999").AutoFilter
End Sub
已經研究了一段時間但我似乎找不到任何有用的東西。謝謝。
uj5u.com熱心網友回復:
快速和骯臟的解決方案是
- 洗掉
AutoFilter最后。事實上,確保這.Copy是代碼中的最后一個命令 - 此操作將Application.CutCopyMode保留剪貼板中復制的文本,直到進一步操作。 - 并且只復制一個范圍,即
D6從副本中洗掉。
Dim ws As Worksheet
Set ws = Worksheets("Cost")
ws.Range("D13:D9999").AutoFilter field:=1, Criteria1:=RGB(255, 255, 0), Operator:=xlFilterCellColor
Range("D13:D9999").Select
Selection.Copy
End Sub
uj5u.com熱心網友回復:
如果您只想在應用過濾器后復制可見單元格,如下所示:(注意我避免使用選擇)
Set r1 = [d6]
'filter the range
Set r2 = Range("d10:d20")
r2.AutoFilter field:=1, Criteria1:=RGB(255, 255, 0), Operator:=xlFilterCellColor
Range(r1, r2.SpecialCells(xlCellTypeVisible)).Copy
然后,您必須在關閉自動過濾器之前執行粘貼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/345284.html
上一篇:將excel公式轉換為VBA宏
