Tag: filter

VB:在Excel表格上过滤数据

在python中,使用libs来处理excel文件,我可以做我想要的。 但现在,因为我正在学习VBA,所以我需要提出这个问题。 我正在制作一个大约有12列和50000行的工作表。 这些数据代表发送给公司的请求。 5#列表示它的代码,10#表示完成它的时间。 但是,例如,第5,10和12行可以属于同一请求,并且为了组织目的而被分开。 我需要处理这些数据,以便我可以: 第6列代表回答请求的人。 所以,我需要把每个请求放在“人员的工作表”上。 另外,在开始向它添加请求之前,为他创build这个工作表。 对于每个人(工作表)来说,都会让他参与的请求types(第2列)变得有害。 即,在其工作表上创build另一个表格:Type_Of_Request | Number_of_ocurrences 创build一个最终的报告工作表,显示上面的同一张表,但会计所有请求(没有人filter) Obs:我知道在stackoverflow上的大多数问题都是为了解决一个具体的问题,但是我在这里要求开始路线。 如果可能的话甚至是解决scheme。 出于解释的目的,我认为解释Python中使用的algorithm将帮助那些了解python和VBA的人帮助我。 所以,对于每个问题: 创build一个pipe理6#列数据的字典。 这个字典将把这个人的唯一名字作为关键字,并且对于他所回答的每个请求,它将被添加到指向他的名字(字典关键字)的列表中。 类似于:{person1:[request1,request2,request3,…],…} 另一个pipe理2#列数据的字典(请求types)。 现在,我将有一个字典,其中每个条目将有一个列表显示这种types的请求。 定位完所有请求之后,我在列表中做了一个简单的总和,并填充了一个表(key,sum(dict [key])),其中dict [key]是相同types的请求列表,并且返回一个和该types的请求总数。 类似于:{request_type1:[request1,request2,request3,…],…} 那么,相同的2,但应用algorithm的初始完整表。 我不知道VB是否有像Python一样的字典types(并帮助很多!),甚至因为我是VB新手。 非常感谢您的帮助

在Excel中添加新的数据,不能sorting或过滤

我有595行的列。 然后我继续加20。 (请注意,在我开始工作之前,已经有595个条目的excel表单了,sortingfunction正常工作,就像filterfunction一样)。 所以现在,我仍然可以使用sorting和过滤方法,但是不考虑这20个新行。 有任何想法吗? 另外,我无法删除这20个新行的边界。 他们很厚,说我只是做了“无边界”,它不会修改任何东西。 看起来595有一个“截止点”或什么的。 很奇怪。 任何input是绝对赞赏。 谢谢。

PowerShell中的高级filter

我试图通过Powershell使用Excel高级filter,但没有任何luck.I可以通过运行以下代码成功地使用自动filter: $rangetofilter = $worksheet2.usedrange.select $excel.selection.autofilter(2,"TestFilter") 但是,我不明白如何正确地将这里给出的语法http://msdn.microsoft.com/en-us/library/office/bb209640(v=office.12).aspx转换为Powershell将接受的东西。 例如,我试过了 $excel.selection.AdvancedFilter("xlFilterInPlace","","","TRUE") 但得到以下错误: Exception calling "AdvancedFilter" with "4" argument(s): "AdvancedFilter method of Range class failed" At line:1 char:32 + $excel.selection.AdvancedFilter <<<< ("xlFilterInPlace","","","TRUE") + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : ComMethodTargetInvocation 那么有没有办法通过PowerShell运行Excel高级filter? 编辑 – 发现这个: http : //gallery.technet.microsoft.com/ScriptCenter/57b497a4-d634-44c6-be5c-ba2699f9961a/但它也不工作…

自动刷新自动filter – VBA与否

无论何时将新数据input列C(这是A,B和D中的值的根variables),我一直在试图find一个代码来刷新自动filter(filter的标准在列A中) 任何帮助将非常感激。 这是我在其他线程中find的代码,但是我无法使其工作。 Private Sub Worksheet_Calculate() If Me.FilterMode = True Then With Application .EnableEvents = False .ScreenUpdating = False End With With ActiveWorkbook .CustomViews.Add ViewName:="Mine", RowColSettings:=True Me.AutoFilterMode = False .CustomViews("Mine").Show .CustomViews("Mine").Delete End With With Application .EnableEvents = True .ScreenUpdating = True End With End If End Sub

如何sorting/过滤Excel中的合并单元格?

我有两列 – 列A和列B.如下所示。 A | B ——— a | 1 a | 2 b | 3 b | 1 b | 4 c | 2 c | 3 c | 4 正如你所看到的,A列有许多冗余数据,所以我把它们合并在一起。 如下所示。 (我需要摆脱冗余的数据并正确表示,这是主要任务。) A | B ——— a | 1 | 2 ——— | 3 b | 1 | 4 ——— | 2 c […]

VBA:返回2个以上的过滤条件

我有一堆列的标准filter,我想读filter标准。 在select超过2个标准的情况下,这不是真正的问题。 我有一串不同的string,我希望能够得到用户select的标准。 目前我正在使用这段代码: Set ws = Worksheets(actSheet) For Each flt In ws.AutoFilter.Filters If flt.On = True Then criterias = criterias & flt.Criteria1 & ", " criterias = criterias & flt.Criteria2 & ", " End If Next flt 这只给了我获得2个标准最大值的机会。 我已经在不同的论坛中find了这行代码,但是由于其他原因,我并不知道如何使用这段代码: ActiveSheet.AutoFilter Field:=1, Criteria1:=Array(param1, param2, param3,…) _ Operator:=xlFilterValues 这样你可以设定标准,但我想知道 。 任何想法如何我可以使用此代码? 或者我的问题的另一个build议? 提前致谢! 编辑: 那么我已经在这个工作了很多小时,仍然没有解决scheme。 在Array中的Criteria1中获取数组是不太可能的。 […]

具有多个通配符的自动filter

有没有办法使用Excel自动filter,从而设置一个预定义的值列表进行过滤,它将返回包含该短语的列中的所有单元格? 例如,想象下面的数据(全部在一个列中)。 A 1 NAMES 2 Brian 3 Brian, John 4 Brian, Mark 5 Mark, John 当您select一个或多个选项时,filter将有三个预定义的值, Brian , John和Mark ,它满足所有选定的filter? 所以在这个例子中, Brian会返回前三个单元格,selectMark和John只会返回最后一个单元格。 我知道这是可能做一次在使用Advanced Filter的数据列表,但我正在寻找一个实时的方式做了很多次。

如何在VBA中find多个string

假定Excel工作表在随机列中包含以下值: VARIABLE X AbbA AddA bbAA ccbb KaaC cccc ddbb ccdd BBaa ddbB Bbaa dbbd kdep mCca mblp ktxy 现在应该同时在列中search几个单词和词组,例如以下内容: (1)“bb” (2)“cc” (3)“d” 我把目标string放在一个数组中: Dim searchFor As String Dim xArr searchFor = "bb/cc/d" xArr = Split(searchFor , "/") 同样假设“bb”是小写字母还是大写字母(在这种情况下不区分大小写)并不重要。 对于其他情况则区分大小写。 最后,我想根据相关的行select相应的目标案例。 还请注意,我想在select中包括目标string(例如“bb”)是单词的一部分(例如“dbbd”)的情况。 如果可能的话,忽略列标题(“VARIABLE X”)进行search/筛选以及最终select值。 如何在VBA中使用(1)filter和/或使用(2)常规循环来完成? 你会推荐哪种方式?

select一个范围,避免隐藏的单元格,使用ActiveCell.Offset()

我正在运行一个macros,它要求一个工作表名称和一个引用单元格,然后select一个围绕我们select的单元格的单元格区域。 在对我的数据应用一个filter之后,一些行将变得隐藏,因为它们不是必需的。 问题是,macros不考虑这一点,并计算隐藏行。 这里是我在macros的原始版本中使用的代码: …..应用一些InputBox并search用户的值后,将执行以下行: Range(ActiveCell.Offset(90, 0), ActiveCell.Offset(-252, 2)).Select Selection.Copy 这样隐藏的行就被包含在select中。 我尝试了下面的修改 Range(ActiveCell.Offset(90, 0), ActiveCell.Offset(-252, 2)).SpecialCells(xlCellTypeVisible).Select Selection.Copy 但是没有成功。 我想知道,任何人都可以提出一种方法来使用ActiveCell.Offset与SpecialCells(xlCellTypeVisible)导致上述macros的function – 名称来select一个范围的单元格,避免隐藏的行过滤后?

Excel VBA – date筛选器和空白

我正在使用VBA来制作datefilter。 此filter将采用我在表1中指定的date,并过滤我此刻select的列。 理想情况下,我想拥有该范围内的date的所有值PLUS所有空白(没有date已定义)。 Set rep= ActiveWorkbook.Sheets("sheet2") Set sh1 = ActiveWorkbook.Sheets("Sheet1") Dim anf As String Dim ende As String Dim count As Integer anf = ">=" + sh1.Range("J2") ende = "<=" + sh1.Range("J3") rep.Select count = Range(Selection, Selection.End(xlToLeft)).Columns.count rep.Range("$A$4:$GD$11668").AutoFilter Field:=count, Criteria1:=anf, Operator:=xlAnd, Criteria2:=ende, Operator _ :=xlFilterValues 这个代码function很好。 但是,它只会过滤date。 我也试图添加空白(除此之外)都失败了。 例如,为空白添加第三条标准: rep.Range("$A$4:$GD$11668").AutoFilter Field:=count, Criteria1:=anf, Operator:=xlAnd, Criteria2:=ende, Operator:=xlAnd, […]