Tag: autofilter

加快Excel自动filter

我有一个工作簿,可以在工业工厂中生成I / O信号的密度图。 整个工作簿由用户input信号types的引线表和它所在的位置驱动。 在生成密度图的工作表上,我给了用户点击密度图中感兴趣的单元格的能力。 当用户单击单元格时,on_selectionChangemacros将运行计算工厂中的位置。 这个位置比input铅片自动filter的位置要显示用户实际上在工厂的那个位置上的信号。 我的问题是即时计算位置信息,但是当我将过滤条件应用于自动filter时,filter需要12秒的时间才能应用,代码要从密度映射表更改为潜在客户数据库表。 所以没有人知道我可以如何使用自动filter加速我的代码。 运行macros时,我closures了屏幕更新和应用程序计算。 直到我开始将其他工作表添加到工作簿,这从来没有这么慢。 下面你可以看到我的代码如何计算位置。 有人可以帮我解决这个问题吗? Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) ' Filter the I/O data to those associated with the clicked cell ' Turn off screen updating, this speeds up Calc Application.ScreenUpdating = False ' Turn off automatic calculations Application.Calculation = xlCalculationManual ' Setup benchmarking Dim […]

Excel崩溃并错误地显示使用Apache POI编写的文件(Excel 87-2003 .XLS格式)

我们的Java EE应用程序使用Apache POI编写大型(> 3000行,> 300列)Excel文件。 我们已经实现了客户要求书写文件中的许多(> 500个)单元格具有部分文本格式,即一个单元格中的文本部分是红色和粗体,部分是黑色的。 编写这些文件时,Apache POI没有抱怨,而且可以打开它们,但Excel 97错误地显示了它们:部分单元格的字体大小错误,并且不能更改具有多种字体颜色的单元格(更改它们的字体大小工作)。 此外,Excel 2010会抱怨文件不安全(从服务器下载时),并且Excel 97和Excel 2010会频繁导出导出的文件。 该应用程序的以前版本使用JExcelApi,并没有写入多格式文本单元格。 服务器使用应用程序(JExcelApi-powered)版本生成的文件在Office2010中正常显示,没有安全警告。 有没有人遇到这些问题,如果是的话,我该如何解决这些问题? 另外,有没有人找出为什么设置自动filter无法在指定的Office 2010中显示,但在Excel 97中正确显示(所以它有时会崩溃或只是直到一个AutoFilter被选中?)。 最后,我尝试了对旧版应用程序的Excel导出进行返回,发现Apache POI将文件大小减less了大于35%,同时打破了文件的内容 – 虽然没有应用更改(只是将文件读入HSSF工作簿并将其重新写入ByteArrayOutputStream有没有人知道如何防止POI改变书面文件? 谢谢, 迈克尔

在Apache POI中调用autofilter方法后自动调整行的大小

也许这是一个简单的问题,但我没有find任何有关它的信息。 我正在生成一个Excel文件,并且在生成文件时遇到一个小问题。 问题是我调用autofilter方法过滤所有列,然后我调用autosize方法,但似乎没有考虑下拉箭头在单元格中的空间。 例如,我有一个标题为“AA”的列,当文件生成时,列已经缩小,所以我只能看到下拉箭头,而不是标题的文本。 不幸的是,当调用autosize方法时,列的值不足以使列长。 那么,有没有人有这个解决scheme? 提前致谢!

如何使用jxl java jar添加AutoFilter到Excel Cell

有谁知道如何添加自动 filter使用jxl在Excel中的单元格 ? 我无法弄清楚。 任何和所有的帮助,不胜感激..谢谢!

自动过滤方法失败

这个子程序突然停止了工作。 新的工作表已被添加,但没有改变这个代码。 任何想法,为什么我得到的消息“自动过滤范围类的方法失败”运行时错误1004? Sub Hide_Row() Application.ScreenUpdating = False ActiveSheet.Unprotect Range("a6:HO499").AutoFilter Field:=2, Criteria1:="<>" End Sub

Excel VBA基于另一个工作簿中的一系列单元格筛选工作表

晚上好, 过去几个月,我一直在学习如何使用VBA来自动化一些报告。 这个网站有很大的帮助,我已经能够弄清楚如何做很多事情,但解决这个问题的方法仍然没有解决。 我有一个相对复杂的macros,已经完全自动化这个特定的报告,除了这一步,如果我能弄清楚,我可以实现报告的全面自动化。 系统会生成.xls格式的原始数据文件,并使用该数据的新数据进行清理并添加到报告模板中。 X列包含商品描述,但是许多行数据具有不可接受的商品描述,需要将这些行复制到单独的工作表中并发送给其他人以find正确的描述。 在主报告模板中,我创build了可接受商品描述的列表,我希望能够具有原始数据文件filter,以便在列X中具有不在可接受列表中的值的任何行显示,并且显示所有已经包含可接受的描述的行被隐藏。 我试图操纵filter,loggingmacros,并试图操纵代码,但没有运气。 这是我logging行动时得到的结果。 数组开头处的一些项目是可接受描述(有意义的东西)的示例,最后的随机东西是我想要显示的项目types的示例,这些将​​需要进行研究并手动更正。 Sub hiderows() Windows("stop level data.xls").Activate Rows("1:1").Select Selection.AutoFilter ActiveSheet.Range("$A$1:$AB$1290").AutoFilter Field:=24, Criteria1:=Array( _ "Cotton", "Covers", "Displays", "Fabric", "Fasteners", "Fiber", "Fiber Rolls", _ "Fibers", "Foam", "Foam Rolls", "Frames", "Labels", "Latex", "Lumber", "Machines",_ "Mattresses", "Pads", "Plastic", "PO #Avi", "PO #P0005557/SO #3203687", _ "PO #P0005615/SO #3203693", "PO #P0007297/SO#3203828", "Rolls", "Serta", […]

VBA自动filter不按我的标准过滤

我创build了一个以前工作的filterfunction,但是我离开了它几天(在周末),它没有正确过滤。 我已经包含了下面的代码进行检查。 我已经运行了手表,并且一切似乎正确地进入自动filter行。 我正在用尽想法。 有没有什么我可能已经改变了自己破坏autofilter表单本身? 我能否在违规的标准之一中添加某些内容? 谢谢 注意:任何不是DIM的variables都是全局variables或垃圾variables。 而且,sortfield的索引可能是closures的; 我正在努力追踪。 它仍然似乎在正确的列中筛选时,它只是过滤掉所有的东西。 Private Sub Filter_CommandButton_Click() 'Filters by a text input and a column to filter Dim isInCol As Boolean Dim sortKey As String Dim sortOrder As XlSortOrder Dim currentData As Range Dim sortField As Integer ' This is the offset, determined by list index Dim lastRow […]

VBA一次性使用xlCellTypeVisible在AutoFilter之后删除多行将引发错误

我有一个表上的自动filter,正确过滤表中的列不等于所提供的string值。 然后,我想要删除所有未经过滤的可见行(一次最多可能有1000到2000行)。 但是,我在EntireRow.Delete方法上得到一个错误。 这是我的代码,我怎样才能一次成功地删除这些行? Dim columnFilter As String columnFilter = "Foo" Set tbl = ActiveCell.CurrentRegion tbl.AutoFilter tbl.AutoFilter Field:=columnNum, Criteria1:="<>" & columnFilter '***Error thrown here tbl.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete 给出的错误是: Run-time error '1004': Delete method of Range class failed.

VBA:部分数组string的自动筛选

我需要为我所做的数组过滤一列。 我试图使用Cells.AutoFilter Field:=14, Criteria1:=stringArray, Operator:=但我不知道运营商应该是什么。 我的问题的一个例子是,当我自动过滤列中的内容实际上是“Tawm”时,我的Array中的某些内容可能是“Ta”。 我在想,像Operator:=xlContains但这是一个不行。 我只是想让它像我在“Ta”中input,然后select自动filterfind的所有选项。 我已经尝试添加"*"到数组中的每个条目,下面的代码,但它似乎没有帮助: Dim stringArray As Variant Dim tempMfr As String Dim temp2Mfr As String Dim t As Variant tempMfr = xCell & "*" temp2Mfr = xCell.Offset(0, 2) 'this cell may have multiple entries such as "a, b, c" stringArray = Split(temp2Mfr, ", ") For Each t In stringArray […]

Excel VBA:保存自动筛选设置,具有确切的值

我想运行一个保存自动筛选设置的程序,做些东西,可能会编辑filter,然后重新应用它。 我正在使用下面的代码来保存自动筛选器数据: With ActiveSheet.AutoFilter Set filtRange = .Range With .Filters fieldNumber = .Count ReDim filtArray(1 To fieldNumber, 1 To 4) For f = 1 To fieldNumber With .Item(f) If .On Then filtArray(f, 1) = 1 filtArray(f, 2) = .Operator filtArray(f, 3) = Criteria1 If .Operator <= 2 And .Operator > 0 Then filtArray(f, 4) = […]