Tag: 性能

任何提示使excel dsum更快的提示?

我目前使用dsum来计算一些总数,我注意到excel变得非常慢(每个单元格更改需要2秒)。 这是情况: – I am trying to calculate 112 dsums to show in a chart; – all dsums are queries on a table with 15 columns and +32k rows; – all dsums have multiple criteria (5-6 constraints); – the criteria uses both numerical and alpha-numerical constraints; – i have the source table/range sorted; – excel […]

程序很慢,为什么? 在C#中

我正在使用这段代码导出一个Excel的Wuth 256行(以后我需要256K行),但程序是非常慢比较Java,我读了一个文件夹中的所有文本文件,然后我读了所有在每个文件中,我寻找一个字母,如果我看到它,我将该行添加到Excel文件 我的程序有什么问题? private void Create_Excel_File_Click(object sender, EventArgs e) { ProgressBarTimer.Start(); String[] Coulmn_Head = {"סוג פעולה"," נקלט בשעה"}; int Coulmn = 1, Row = 1; Excel.Application xlApp; Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet; object misValue = System.Reflection.Missing.Value; xlApp = new Excel.Application(); xlWorkBook = xlApp.Workbooks.Add(misValue); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); for (Coulmn=1; Coulmn <=Coulmn_Head.Length; Coulmn++) { xlWorkSheet.Cells[Row, Coulmn] = Coulmn_Head[Coulmn […]

Excel到XML:性能提高

我想问一个问题,如果他有什么想法如何使这个代码更快。 目前在大数据(超过180 000行/ 39列)的情况下,大约需要5个半小时才能生成所有代码,以防万一使用MS Excel 2007。 我会很乐意提供任何build议。 Sub TOXML() strChoosenFile = InputBox("Write number of file which you want generate.", "Choose sheet for generation XML") Worksheets("time").Cells(1, 1) = Now Application.ScreenUpdating = False Dim lngRow As Long Dim strInsetText$ lngRow = 1 RowsInSource = Worksheets(strChoosenFile).Range("A300000").End(xlUp).Row – 2 ColumnsInSource = Worksheets(strChoosenFile).Range("DD2").End(xlToLeft).Column For i = 1 To RowsInSource strInsetText […]

VBA子程序在第一次执行后变慢了很多

我有一个子程序,生成5个家庭内不同投资组合的业绩报告。 问题在于所涉及的投资组合从来都不一样,每个家庭的投资额也不相同。 所以,我复制粘贴一个模板(这是格式化的…),并在报告中为每个投资组合添加合适的行(包含公式和…)。 一切工作正常,代码是不是最佳和完美的,当然,但它适用于我们所需要的。 问题不是代码本身,它是当我第一次执行代码时,它会非常快(如1秒)…但是从第二次,代码显着减慢(基本为30秒任务与第一个相同)。 我尝试了所有的手动计算,而不是刷新屏幕,…但它并不是问题的来源。 它看起来像是一个内存泄漏给我,但我找不到问题在哪里! 为什么代码运行速度非常快,但是后来呢太慢了……无论报告的长度和文件的内容如何,​​我都需要closuresexcel并重新打开每个报告。 **不知道我是否清楚,但这不是因为代码使Excel文件变大或什么,因为在第一个(快速)执行后,如果我保存工作簿,closures并重新打开它,(新)第一次执行将再次变得非常快,但是如果我能够在不closures和重新打开的情况下完成同样的动作,那将会非常缓慢…… ^!^ Dim Family As String Dim FamilyN As String Dim FamilyP As String Dim NumberOfFamily As Integer Dim i As Integer Dim zone As Integer Sheets("RapportTemplate").Cells.Copy Destination:=Sheets("Rapport").Cells Sheets("Rapport").Activate i = 3 NumberOfFamily = 0 FamilyP = Sheets("RawDataMV").Cells(i, 4) While (Sheets("RawDataMV").Cells(i, 3) <> "") And (i < […]

复制粘贴macros是超慢| 需要优化

下面是我的VBA代码是超慢(需要大约3分钟复制和粘贴三个新行!)。 数据库本身包含大约10,000行,我不确定是否会导致性能下降,或者代码本身是否有效。 这当然与硬件钻机无关。 Sub AutomateUserResearch() Dim rowlast As Long 'letzte benutze Zeile Dim rowlastexport As Long 'letzte benutze Zeile auf "database" + 1 addieren Dim rowlastexportfinal As Long 'letzte benutze Zeile auf "database" nach Hinzufügen neuer Zeilen finden Dim NewRecords As String Dim i As Integer Application.ScreenUpdating = False Calculate NewRecords = ThisWorkbook.Worksheets("checklist").Range("NewRecordsCheck").Value With Sheets("csv_import") […]

Excel性能 – INDEX-MATCH组合

我正在使用Excel来创build稍后在vba应用程序中使用的数据集。 我正在使用这个公式: =INDEX(BaseData!$L$2:$L$10000;MATCH(DataSet!D5&DataSet!E5&DataSet!K5;INDEX(B‌​aseData!$B$2:$B$10000&BaseData!$C$2:$C$10000&BaseData!$D$2:$D$10000;0);0)) 通常范围从f.ex: A2 – A10000 ,因为我的数据可能会不同,并且在数据select上经常会有所不同。 不过,这会让我的Excel变慢。 我切换到手动计算,但是,当再次激活时,我的Excel实例需要非常长,经常崩溃。 我也尝试过一些数据,但是当创build一个新的数据集时,我不得不再次拉下公式,有时候通过这个错误发生在我的数据集中。 任何build议,我可以做什么使INDEX-MATCH公式更高性能? 我很感激你的回复! UPDATE 我想大量的性能会消失,因为索引匹配不会select确切的范围,但也会计算在空行中。 如何自动获得索引匹配的确切范围?

代码太慢,无法对250行进行分类和复制

我已经实施了所提出的改变,现在有一个工作表,这个工作表需要3倍的时间。 也不再形成我的漂亮的4分段工作表,但混乱和混乱。 请帮助。 Private Sub ReportMakeReady_Click() Application.Calculation = xlCalculationManual Application.ScreenUpdating = False Application.DisplayStatusBar = False Application.EnableEvents = False ActiveSheet.DisplayPageBreaks = False Unload Me Dim FRow As Long Dim LRow As Long Dim ColAPLast1 As Long Dim ColAPLast2 As Long Dim APValues As Variant Dim MRValues As Variant Dim AP As Worksheet Dim MR As Worksheet […]

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

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 […]

vba寻找一个快速的方式来突出每隔一行

到目前为止,我有这个,对于大数据集非常慢。 任何帮助 'For every row in the current selection… For Counter = 1 To RNG.Rows.Count 'reccnt 'If the row is an odd number (within the selection)… If Counter Mod 2 = 1 Then With RNG.Rows(Counter).Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorAccent6 .TintAndShade = 0.799981688894314 .PatternTintAndShade = 0 End With End If Next

excel vba词典vlookup

我的代码需要超过一个小时才能完成3500行,但我需要为超过40000行数据工作。 我正在寻找替代我的代码,通过使用字典,在感兴趣的上下文中提高性能。 任何人都可以帮我吗? Sub StripRow2Node() 'Read the Strip Design table With Sheets("Design-Moment") Sheets("Design-Moment").Activate LastR1 = .Range("B" & Cells.Rows.Count).End(xlUp).Row DM_arr = .Range(Cells(1, 1), Cells(LastR1, 7)) 'Col 1 to Col 7 DM_count = UBound(DM_arr, 1) End With 'Read the x and y coordinations and thickness of a node in node design With Sheets("Design-Shear") Sheets("Design-Shear").Activate LastR2 = .Range("B" […]