我们拥有大量excel表,其中有近40,000条与地质数据有关的记录。在该excel中,数据的最后一个参数(Criteria)将是“Color Table:”。
像:
Row 35 Color Table: (RGB with entries)
Row 36 0: 255,255,255,255
Row 37 1: 19,91,19,255
..
..
..
Row 58 **Files:** W:\01 GIS\AP_GSI_Map Survey_1 (***Starting of next data***)
从第59行开始,下一个数据的下一个参数将开始....再次,
Row 88 Colour Table: (2 Entries)
Row 89 0: 1,56,76
..
..
..
Row 102 Files: XXXXX
所以,我的问题是:如何删除具有文本的行之间的所有行:Color Table
&其中包含文字Files:
的行?
在VBA中了解一些基础知识。但不知道如何处理这个问题。
答案 0 :(得分:0)
还无法测试,但我认为这应该可行:
Dim FoundCellColor As Range
Dim FoundCellFiles As Range
Dim colorArray (0) As Integer
Dim fileArray (0) As Integer
Dim i As Integer
Dim k As Integer
i = 0
Application.ScreenUpdating = False
' Set your range here, placeholder A:A
Set FoundCellColor = Range("A:A").Find(what:="Color Table")
Set FoundCellFiles = Range("A:A").Find(what:="Files")
Do Until FoundCellColor Is Nothing
Redim Preserve colorArray(i)
Redim Preserve fileArray(i)
colorRow = FoundCellColor.Row
fileRow = FoundCellFiles.Row
colorArray(i) = colorRow
fileArray(i) = fileRow
Set FoundCellColor = Range("A:A").FindNext
Set FoundCellFiles = Range("A:A").FindNext
i = i + 1
Loop
For k = 0 To ThisWorkbook.Worksheets(1).UsedRange.Rows.Count
If UBound(Filter(colorArray, k)) < 0 AND UBound(Filter(fileArray, k)) < 0 Then ThisWorkbook.Worksheets(1).Rows(k).Delete
Next
注意:我假设每个“颜色表”都有一个相应的“文件”部分。如果不是这种情况,则必须相应地调整代码。