Access Excel VBA在列下查找具有相同值的单元格
我使用Access VBA创建Excel导出数据。但我需要找到相同的值并对它们进行排序。我想在A下找到所有相同的值,然后用它们的规格彼此相邻地剪切它们。下面是一个例子,我想做什么。我写了一些VBA代码,但速度非常慢,需要10-15分钟。我有3000个专栏 从这一点:Access Excel VBA在列下查找具有相同值的单元格,excel,vba,ms-access,Excel,Vba,Ms Access,我使用Access VBA创建Excel导出数据。但我需要找到相同的值并对它们进行排序。我想在A下找到所有相同的值,然后用它们的规格彼此相邻地剪切它们。下面是一个例子,我想做什么。我写了一些VBA代码,但速度非常慢,需要10-15分钟。我有3000个专栏 从这一点: A B C A B C D E 1值1规格1规格1 2值2规格2规格2 3值1规格3规格3 4值3规格4规格4 对
A B C
A B C D E
1值1规格1规格1
2值2规格2规格2
3值1规格3规格3
4值3规格4规格4
对于这一点:
A B C
A B C D E
1值1规格1规格1规格3规格3(来自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
DoCmd.TransferSpreadsheet acExport,acSpreadsheetTypeExcel9,“qryExportPassive”,“C:\Temp\ExportPassivEExi.xls”,False
Set objExcel=New Excel.Application
objExcel.Visible=True
objExcel.DisplayAlerts=False
将wb设置为Excel.工作簿
将wb2设置为Excel.工作簿
将ws设置为工作表
设置wb=objExcel.Workbooks.Open(“C:\Temp\exportpassivereexi.xls”)
wb.激活
intlengthwb=wb.Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
调试。纵向打印
k=2
Z=1
做While(k
我是用RecordSet做的,只用了10秒。速度很慢,但可以用?需要3个小时,不可能那么长。