Я пишу код, который просматривает очень большой лист Excel с большим количеством дубликатов, я могу легко отсортировать дубликаты вместе, так как все они имеют 1 соответствующий столбец и столбец идентификатора.Я застрял в том, почему IsEmpty не работает для просмотра текущей ячейки и определения, пуста ли она и есть ли в следующей ячейке (дубликат) данные.Тогда ячейка с данными сливается с пустой ячейкой.
Я пытался использовать Range в качестве аргумента, а также ячейки безрезультатно.
Private Sub CountDuplicates()
Dim i As Integer
'The cell it will use to search
Dim idCheck As Range
'The cell it will use to compare text
Dim currentCell As Range
'This will be used to format the "Changes" column
Dim rowNumberValue As Integer, columnNumberValue As Integer, rowBelow As Integer
placement = 0
colNum = 3
rowNumberValue = ActiveCell.Row
columnNumberValue = ActiveCell.Column
rowBelow = ActiveCell.Row + 1
'Searches by ID column
For Each idCheck In Worksheets("Sheet1").Range("B2:B1000")
'This checks to find duplicate ID rows
If idCheck.Value = idCheck.Offset(-1, 0).Value Then
'Goes from each column starting from the ID column (H = 7th letter in alphabet and H is the last column)
For colNum = 3 To 7
'Checks to see if the cell has no value but the duplicate does
If IsEmpty(Range(Cells(rowNumberValue, colNum))) = True And IsEmpty(Range(Cells(rowNumberValue + 1, colNum))) = False Then
Range(Cells(rowNumberValue, colNum), Cells(rowBelow, colNum)).Merge
Так что в идеале, еслистрока содержит одну ячейку, в которой отсутствуют данные, но в другой строке она есть, затем объедините / скопируйте данные в ячейку с отсутствующими данными.