- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
=" & date1, Op-6ren">
这是我的代码
openWs.AutoFilterMode = False
Range("A1").AutoFilter Field:=1, Criteria1:= _
">=" & date1, Operator:=xlAnd, Criteria2:="<=" & date2
Range("A1").AutoFilter Field:=4, VisibleDropDown:=False
Range("A1").AutoFilter Field:=5, VisibleDropDown:=False
Range("A1").AutoFilter Field:=6, VisibleDropDown:=False
Range("A1").AutoFilter Field:=7, VisibleDropDown:=False
Range("A1").AutoFilter Field:=8, VisibleDropDown:=False
cnt = ActiveSheet.UsedRange.Rows.count
arr() = openWs.Range("A2:H" & cnt).Rows.SpecialCells(xlCellTypeVisible).Value 'Supplier
自动过滤器显示我有 40 条记录,但是当使用 .SpecialCells(xlCellTypeVisible) 时,我只从中得到大约 20 条记录,在检查记录后,我发现它总是返回与date2,范围后面的数据会被忽略,为什么?
//过滤后的样本数据
过滤范围20130101 - 20130107
20130104 7339/01/13 13006015 CN -250000 -639442350.6 //Success
20130107 7346/01/13 13002022 DN 1200000 -639442350.6 //Success
//data below all ignore after hitting 20130107, only return data above target
20130104 7340/01/13 13006016 CN -300000 118968559.6 //Failed
20130107 7340/01/13 13006016 CN -300000 118968559.6 //Failed
我做错了什么吗?我以为excel会自动返回过滤器后可见的所有内容,但似乎它仍然应用相同的过滤器?有什么想法吗?
更新 1更多示例数据,应用 Siddharth Rout 代码后
CP0001 20130103 I/TAX - 12TH INST YA2012 13012000 PR -180000 0
CP0001 20130103 I/TAX - 12TH INST YA2012 13014000 PPR 180000 0
HH2000 20130102 7324/01/13 13006000 CN -100000 -639442350.6
HH2000 20130102 7325/01/13 13002001 DN 1500000 -639442350.6
HH2000 20130103 7326/01/13 13006002 CN -17000000 -639442350.6
HH2000 20130103 7348/01/13 13006024 CN -3000000 -639442350.6
HH2000 20130104 7327/01/13 13006003 CN -10000000 -639442350.6
HH2000 20130104 7328/01/13 13006004 CN -10000000 -639442350.6
HH2000 20130104 7329/01/13 13006005 CN -500000 -639442350.6
HH2000 20130104 7330/01/13 13006006 CN -1500000 -639442350.6
HH2000 20130104 7331/01/13 13006007 CN -1000000 -639442350.6
HH2000 20130104 7332/01/13 13006008 CN -3000000 -639442350.6
HH2000 20130104 7333/01/13 13006009 CN -135000 -639442350.6
HH2000 20130104 7334/01/13 13006010 CN -5000000 -639442350.6
HH2000 20130104 7335/01/13 13006011 CN -31099000 -639442350.6
HH2000 20130104 7336/01/13 13006012 CN -7000 -639442350.6
HH2000 20130104 7337/01/13 13006013 CN -5000 -639442350.6
HH2000 20130104 7338/01/13 13006014 CN -700000 -639442350.6
HH2000 20130104 7339/01/13 13006015 CN -250000 -639442350.6
HH2000 20130107 7341/01/13 13006017 CN -4563000 -639442350.6
HH2000 20130107 7343/01/13 13006019 CN -1800000 -639442350.6
HH2000 20130107 7344/01/13 13002020 DN 800000 -639442350.6
HH2000 20130107 7345/01/13 13002021 DN 900000 -639442350.6
HH2000 20130107 7346/01/13 13002022 DN 1200000 -639442350.6 //it stop here, below all ignore by excel
HH2030 20130104 7338/01/13 13002014 DN 700000 5318670.54
HH2100 20130104 7340/01/13 13006016 CN -300000 118968559.6
HH2100 20130107 7342/01/13 13006018 CN -980000 118968559.6
HH2101 20130107 7347/01/13 13006023 CN -300000 -12587577.27
最佳答案
根据我的评论,尝试一下这个。这对我有用。
编辑:为了避免混淆,@mehow 下面提到的内容是绝对正确的。以下只是示例数据。当您实际处理必须应用自动筛选的数据时,请使用第一行中的标题,然后使用 .Offset(1, 0).SpecialCells(xlCellTypeVisible)
获取筛选后的数据,如图 HERE
代码:
Sub Sample()
Dim openWs As Worksheet
Dim rng As Range, VisbRange As Range
Dim lRow As Long, date1 as Long, date2 as Long
Set openWs = ThisWorkbook.Sheets("Sheet1")
date1 = 20130101
date2 = 20130107
With openWs
If Application.WorksheetFunction.CountA(.Cells) <> 0 Then
lRow = .Cells.Find(What:="*", _
After:=.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
Else
lRow = 1
End If
Set rng = .Range("A1:H" & lRow)
.AutoFilterMode = False
With rng
.AutoFilter Field:=1, Criteria1:= _
">=" & date1, Operator:=xlAnd, Criteria2:="<=" & date2
.AutoFilter Field:=4, VisibleDropDown:=False
.AutoFilter Field:=5, VisibleDropDown:=False
.AutoFilter Field:=6, VisibleDropDown:=False
.AutoFilter Field:=7, VisibleDropDown:=False
.AutoFilter Field:=8, VisibleDropDown:=False
Set VisbRange = .Rows.SpecialCells(xlCellTypeVisible)
Debug.Print VisbRange.Address
End With
.AutoFilterMode = False
End With
End Sub
屏幕截图:(之前之后)
后续表单评论:
这就是你正在尝试的吗?
Sub Sample()
Dim openWs As Worksheet, tmpSheet As Worksheet
Dim rng As Range, VisbRange As Range
Dim lRow As Long, date1 As Long, date2 As Long
Dim Arr
Set openWs = ThisWorkbook.Sheets("Sheet1")
date1 = 20130101
date2 = 20130107
With openWs
If Application.WorksheetFunction.CountA(.Cells) <> 0 Then
lRow = .Cells.Find(What:="*", _
After:=.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
Else
lRow = 1
End If
Set rng = .Range("A1:F" & lRow)
.AutoFilterMode = False
With rng
.AutoFilter Field:=1, Criteria1:= _
">=" & date1, Operator:=xlAnd, Criteria2:="<=" & date2
.AutoFilter Field:=4, VisibleDropDown:=False
.AutoFilter Field:=5, VisibleDropDown:=False
.AutoFilter Field:=6, VisibleDropDown:=False
Set VisbRange = .Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow
Set tmpSheet = ThisWorkbook.Sheets.Add
VisbRange.Copy tmpSheet.Rows(1)
With tmpSheet
lRow = .Range("A" & .Rows.Count).End(xlUp).Row
Arr = .Range("A1:H" & lRow).Value
End With
On Error Resume Next
Application.DisplayAlerts = False
tmpSheet.Delete
Application.DisplayAlerts = True
On Error GoTo 0
End With
.AutoFilterMode = False
End With
End Sub
关于excel - AutoFilter返回正确的结果,但是当 SpecialCells(xlCellTypeVisible).value 时,excel只返回一半的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19521105/
我正在尝试使用 flot 绘制 SQL 数据库中的数据图表,这是使用 php 收集的,然后使用 json 编码的。 目前看起来像: [{"month":"February","data":482},
我有一个来自 php 行的 json 结果,类似于 ["value"]["value"] 我尝试使用内爆函数,但得到的结果是“value”“value” |id_kategori|created_at
脚本 1 将记录 two 但浏览器仍会将 select 元素呈现为 One。该表单还将提交值 one。 脚本 2 将记录、呈现和提交 两个。我希望它们是同义词并做同样的事情。请解释它们为何不同,以及我
我的python字典结构是这样的: ips[host][ip] 每行 ips[host][ip] 看起来像这样: [host, ip, network, mask, broadcast, mac, g
在 C# 中 我正在关注的一本书对设置和获取属性提出了这样的建议: double pri_test; public double Test { get { return pri_test; }
您可能熟悉 enum 位掩码方案,例如: enum Flags { FLAG1 = 0x1, FLAG2 = 0x2, FLAG3 = 0x4, FLAG4 = 0x8
在一些地方我看到了(String)value。在一些地方value.toString() 这两者有什么区别,在什么情况下我需要使用哪一个。 new Long(value) 和 (Long)value
有没有什么时候 var result = !value ? null : value[0]; 不会等同于 var result = value ? value[0] : null; 最佳答案 在此处将
我正在使用扫描仪检测设备。目前,我的条形码的值为 2345345 A1。因此,当我扫描到记事本或文本编辑器时,输出将类似于 2345345 A1,这是正确的条形码值。 问题是: 当我第一次将条形码扫描
我正在读取 C# 中的资源文件并将其转换为 JSON 字符串格式。现在我想将该 JSON 字符串的值转换为键。 例子, [ { "key": "CreateAccount", "text":
我有以下问题: 我有一个数据框,最多可能有 600 万行左右。此数据框中的一列包含某些 ID。 ID NaN NaN D1 D1 D1 NaN D1 D1 NaN NaN NaN NaN D2 NaN
import java.util.*; import java.lang.*; class Main { public static void main (String[] args) thr
我目前正在开发我的应用程序,使其设计基于 Holo 主题。在全局范围内我想做的是工作,但我对文件夹 values、values-v11 和 values-v14. 所以我知道: values 的目标是
我遇到了一个非常奇怪的问题。 我的公司为我们的各种 Assets 使用集中式用户注册网络服务。我们一般通过HttpURLConnection使用请求方法GET向Web服务发送请求,通过qs设置参数。这
查询: UPDATE nominees SET votes = ( SELECT votes FROM nominees WHERE ID =1 ) +1 错误: You can't specify
如果我运行一段代码: obj = {}; obj['number'] = 1; obj['expressionS'] = 'Sin(0.5 * c1)'; obj['c
我正在为我的应用创建一个带有 Twitter 帐户的登录页面。当我构建我的项目时会发生上述错误。 values/strings.xml @dimen/abc_text_size_medium
我在搜索引擎中使用以下 View : CREATE VIEW msr_joined_view AS SELECT table1.id AS msr_id, table1.msr_number, tab
为什么验证会返回此错误。如何解决? ul#navigation li#navigation-3 a.current Value Error : background-position Too
我有一个数据名如下 import pandas as pd d = { 'Name' : ['James', 'John', 'Peter', 'Thomas', 'Jacob', 'Andr
我是一名优秀的程序员,十分优秀!