启动从不同 sheet 中的 activex 控件复制过滤数据
Initiating copy of filtered data from activex control in different sheet
我在将过滤后的数据复制和移动到新的 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 的模块上 运行 此代码时,我收到 "Method 'Range' of object '_Worksheet' failed" 错误消息。但是,如果我将一些与复制和粘贴任务相关的代码放在由第二个命令按钮启动的 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
我在将过滤后的数据复制和移动到新的 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 的模块上 运行 此代码时,我收到 "Method 'Range' of object '_Worksheet' failed" 错误消息。但是,如果我将一些与复制和粘贴任务相关的代码放在由第二个命令按钮启动的 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