簡體   English   中英

從不同工作表中的Activex控件啟動過濾數據的副本

[英]Initiating copy of filtered data from activex control in different sheet

我在將過濾后的數據復制和移動到新表進行進一步評估時遇到問題。 目的是使用sheet1上的activex文本框和命令按鈕來過濾sheet2(Data)上的數據,並將結果復制到sheet3(Calculation)。 這是我正在使用的代碼:

Private Sub CommandButton1_Click()

    Sheets("Data").Range("C2").Value = TextBox1.Text

    Worksheets("Data").Select
    ActiveSheet.ListObjects("Table1").Range.AutoFilter _
        field:=21, Criteria1:="=*" & TextBox1.Text & "*"

    Range("Table1[[#Headers],[Comp Date]]").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.SpecialCells(xlCellTypeVisible).Select
    Selection.Copy

    Sheets("Calculation").Select
    ActiveSheet.Paste

End Sub

當我在sheet1的模塊上運行此代碼時,出現“對象'_Worksheet'失敗的方法'范圍'”錯誤消息。 但是,如果我使用了與復制和粘貼任務有關的一點代碼,並將其放在由第二個命令按鈕啟動的sheet2模塊中,則可以正常工作。 如果可能的話,我想同時完成過濾和復制和粘貼操作。 任何人都可以在我出問題的地方提供任何幫助嗎?

根據您的評論,嘗試以下操作:

Private Sub CommandButton1_Click()
    Dim lo                    As ListObject
    With Sheets("Data")
        .Range("C2").Value = TextBox1.Text

        Set lo = .ListObjects("Table1")
    End With
    With lo
        .Range.AutoFilter field:=21, Criteria1:="=*" & TextBox1.Text & "*"
        .Range.SpecialCells(xlCellTypeVisible).Copy
    End With
    Sheets("Calculation").Paste

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM