【发布时间】:2019-11-14 11:07:31
【问题描述】:
我使用 Access VBA 创建 Excel 导出数据。但我需要找到相同的值并对它们进行排序。我想在 A 下找到所有相同的值,并用它们的规格将它们彼此相邻切割。这是一个例子,我想做什么。我写了一些 VBA 代码,但它非常慢,需要 10-15 分钟。我有 3000 列。
来自这个:
A B C
1 值1 规格1 规格1
2 值 2 规格 2 规格 2
3 值1 规格3 规格3
4 value3 spec4 spec4
到这个:
A B C D E
1 value1 spec1 spec1 spec3 spec3(来自A3)
2 值2
3 值3
4 值
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "qryExportPassiv", "C:\Temp\ExportPassivEExi.xls", False
Set objExcel = New Excel.Application
objExcel.Visible = True
objExcel.DisplayAlerts = False
Dim wb As Excel.Workbook
Dim wb2 As Excel.Workbook
Dim ws As Worksheet
Set wb = objExcel.Workbooks.Open("C:\Temp\ExportPassivEExi.xls")
wb.Activate
intlengthwb = wb.Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
Debug.Print intlengthwb
k = 2
Z = 1
Do While (k < intlengthwb)
For j = 2 To intlengthwb
If wb.Sheets(1).Cells(k, 1).Value = wb.Sheets(1).Cells(j, 1).Value Then
Z = Z + 1
Debug.Print Z
End If
Next j
k = k + 1
Loop
【问题讨论】:
-
虽然很慢但是能用?
-
需要3个小时,不可能那么长。