Tag: 处理效率

我用一个水印填充大范围,我可以填充所有其他单元吗? 加快速度

macros填充一个简易的水印的大范围,我可以调整范围来填充范围内的每隔一行或每五单元格等? 就目前而言,这是不可能的。 我想理想地填充它每隔一个单元格我只是不能找出正确的方式来设置范围而不会崩溃它。 Sub watermarkShape() Const watermark As String = "School Name" Dim cll As Range Dim rng As Range Dim ws As Worksheet Dim shp As Shape Set ws = Worksheets("Custom") Set rng = ws.Range("A1:G5000") 'Set range to fill with watermark Application.ScreenUpdating = False For Each shp In ws.Shapes shp.Delete Next shp For Each […]

如何提高excel VBA中用户表单的存储速度

这是我创build的用户表单。 然后,它被用作input平台。有一些不同的表,例如2016年,2017年….这个保存button的逻辑是search年(date),用户input和位置正确的工作表。 然后,它会find该工作表的最后一行。 例如,最后一行是行1000.用户窗体的第一行将保存在行1001上。用户窗体的第二行将保存在行1002 …. 题 但是,当我在真正的excel文件中testing时,保存速度太慢。真正的excel文件很大(每个工作表中大约有1XXXX行)。它使用8秒为userform保存一行,13秒保存两行。 显然,节约的速度是不可接受的。 任何方法都可以改进呢? If ComboBox3.Value = "2016" Then Worksheets("2016").Activate j = WorksheetFunction.CountA(Worksheets("2016").Range("A:A")) + 1 End If If ComboBox3.Value = "2017" Then Worksheets("2017").Activate j = WorksheetFunction.CountA(Worksheets("2017").Range("A:A")) + 1 End If '1st If ComboBox4.Value = "" Then Else Cells(j, 1) = ComboBox434.Value Cells(j, 5) = ComboBox1.Value Cells(j, 4) = ComboBox2.Value Cells(j, […]

VBA:高效的删除行速度

我的解决scheme需要很长时间才能执行。 我有60k行的文件,它可以更大。 你能帮我把这个过程加快吗? Sub kary() Dim table As Variant Dim Wb As Workbook Dim liczba, i As Long Application.ScreenUpdating = False Set Wb = Application.ActiveWorkbook table = Wb.Worksheets("raport").Range("A1").CurrentRegion i = 8 While Cells(i, 1) <> "" If Cells(i, 11) <= 0 Or Cells(i, 5) = "FV_K" Or Cells(i, 5) = "KFD" Or Cells(i, 5) = […]

提高Excel任务效率的几点意见

我有一个相对较小的数据集(大约5mb),我需要下载(付费订阅),并按月sorting。 我希望有人能指出一个更有效的方法来解决这个任务。 这些数据是过去30天内计划申请的logging,而且数据信息丰富,组织得不好 – 即不提供使用types(例如住宅,商业,工业等),也不提供单位数量。 但是他们确实提供了应用程序的标题以及描述。 示例标题如下: STACKVILLE – 1680公寓/餐厅/零售单位 示例描述如下: 老年人独立生活scheme包括1100个一卧室和580个双卧室公寓,配有餐厅和酒吧零售单位一个咖啡厅20间套房停车场通道环境美化和拆除工程。 1 568平方米 目前,我正在使用Excel,这有点费时。 我有一个大约100个使用类的日益增长的名单,因为我需要确定确切的用法,我search的标题和说明。 如果标题和描述都返回相同的值,那么我可以合理地确定这是使用分类,如果没有发现它不可能是有趣的 – 虽然我不是100%肯定我的方法捕捉到我所要求的一切至。 如果他们返回不同的值,那么我必须做一些手动筛选。 我使用的公式如下: =IFERROR(INDEX(Use_Classifications!$A$1:$A$100,MATCH(TRUE,INDEX(ISNUMBER(SEARCH(Use_Classifications!$A$1:$A$100,D2)),,),0)),"Not found") 在确定了他们之后,我需要确定单位的数量,并把这个数字放在数据右边的一列中进行分析。 任何人都可以推荐一个更有效的方法来做到这一点 我目前正在学习Python,如果有帮助。 也会愿意学习几乎任何东西来加速这个,因为它非常耗时。

几千行数据后,效率不佳的Excel代码会中断

我对Excel和VBA相当陌生。 我写了一段代码,将一行数据分成多个部分,然后添加标题,颜色和图表。 问题是当我有很多的数据行。 我的代码运行得很好,当我有大约4000行的数据,但我得到说约10000行,Excel冻结,不再响应。 代码是相当长的,我希望任何人阅读整个事情。 我的疑惑是,excel没有响应和崩溃,因为有一个看门狗定时器,执行代码,如果它没有收到任何东西,那么它崩溃。 这只是一个猜测。 以下是我需要过滤的一切实际数据。 2017:06:29T14:12:11,0,1013,00,156,-0.112,12.751,000,000,38,34,33,1014,00,202,-0.102,12.734,000,000,38,35,33,1015,00,174,-0.105,12.755,000,000,37,35,33,1008,00,156,-0.110,12.741,000,000,37,35,33, 2017:06:29T14:12:12,0,1013,00,157,-0.102,12.758,000,000,38,34,33,1014,00,203,-0.105,12.744,000,000,38,35,33,1015,00,175,-0.103,12.757,000,000,37,35,33,1008,00,157,-0.107,12.757,000,000,37,35,33, 2017:06:29T14:12:13,0,1013,00,158,-0.113,12.737,000,000,38,34,33,1014,00,204,-0.094,12.760,000,000,38,35,33,1015,00,176,-0.117,12.748,000,000,37,35,33,1008,00,158,-0.109,12.744,000,000,37,35,33, 2017:06:29T14:12:14,0,1013,00,159,-0.103,12.753,000,000,38,34,33,1014,00,205,-0.103,12.720,000,000,38,35,33,1015,00,177,-0.108,12.732,000,000,37,35,33,1008,00,159,-0.110,12.758,000,000,37,35,33, 2017:06:29T14:12:15,0,1013,00,160,-0.112,12.757,000,000,38,34,33,1014,00,206,-0.095,12.734,000,000,38,35,33,1015,00,178,-0.118,12.729,000,000,37,35,33,1008,00,160,-0.115,12.755,000,000,37,35,33, 我乐于接受任何build议,并乐于学习。 感谢您的提前帮助和帮助。 Sub SeparateData() 'Author: Me 'Date: July 13, 2017 'Purpose: This macro take the data in the worksheet and separates the data in a readable fashion for the user. ' This macro also plots and reports any errors that it has […]

如何测量Excel计算时间

例如,我怎么能find什么公式更快? =SUMPRODUCT((Data!D:D="RC Corp")*(Data!AD:AD="Expected Allowances / Provisions")) VS =COUNTIFS(Data!D:D,"RC Corp",Data!AD:AD,"Expected Allowances / Provisions") VS把这两个领域重新build立一个新的专栏, Z1 = D1&AD1 =Countif(Data!Z:Z,"RC CorpExpected Allowances / Provisions") Vs VBA Dim i as integer Dim Total as integer Total = 0 i=0 While i < 1000 IF Range("D"&i).Value = "RC Corp" AND Range("AD"&i).Value = "Expected Allowances / Provisions" Then Total = Total […]