excel - 使用指定日期从一个工作簿复制到另一个工作簿
问题描述
我正在尝试输入日期,然后根据这两个日期过滤数据。我能够弄清楚如何选择所需的日期,但过滤时没有运气。另外,我有没有机会在过滤日期之前清除所有过滤器?这个工作簿被很多人使用,我想确保日期是唯一被过滤的东西。
错误是: Run-Time error '1004' 范围类的自动过滤方法失败 我的问题是 rngfull .Autofilter 行
这是我的代码:
Public Sub CreateSubsetWorkbook(StartDate As String, EndDate As String)
Dim wbkInput As Workbook, wbkOutput As Workbook
Dim wksInput As Worksheet, wks As Worksheet, wksOutput As Worksheet
Dim lngLastRow As Long, lngLastCol As Long, lngDateCol As Long
Dim rngFull As Range, rngResult As Range, rngTarget As Range
Dim Lastrow As Integer
lngDateCol = 2
Set wbkOutput = ThisWorkbook
Set wbkInput = Workbooks.Open("f:\Sharta\red files\DBr\(NEW SERVER) with Macro.xlsm")
Set wksInput = wbkInput.Sheets("Sheet1")
With wksInput
Set wksOutput = wbkOutput.Sheets("Data Dump")
Set rngTarget = wksOutput.Cells(1, 1)
lngLastRow = .Cells.Find(What:="*", LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
lngLastCol = .Cells.Find(What:="*", LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
Set rngFull = .Range(.Cells(1, 1), .Cells(lngLastRow, lngLastCol))
With rngFull
Range.AutoFilter Field:=lngDateCol, _
Criteria1:=">=" & StartDate, _
Criteria2:="<=" & EndDate
Set rngResult = rngFull.SpecialCells(xlCellTypeVisible)
rngResult.Copy Destination:=rngTarget
End With
.AutoFilterMode = False
If .FilterMode = True Then
.ShowAllData
End If
End With
wbkInput.Close Savechanges:=False
wksOutput.Activate
End Sub
解决方案
推荐阅读
- javascript - 画布元素在 Firefox 上无法正确显示
- python - Selenium Web 输入项没有文本值
- python - Keras模型中的列表索引超出范围
- c++ - 调试 Denary 到二进制转换器中的逻辑错误 (C++ 17)
- c# - ASP.NET Core Web API + Angular 对预检请求的响应未通过访问控制检查:预检请求不允许重定向
- serial-port - 如何使用 GSM 调制解调器透明地发送数据?
- python - 根据目标标签绘制每个特征的直方图
- php - PHP正则表达式匹配所有单个字母,后跟字符串中的数值
- sql - 报告中的可选参数
- ios - Snapkit:如何在 scrollView 中嵌入一个简单的 tableView?