Я пытаюсь получить лист первенствовать, чтобы перейти от этого: (извините моя репутация не достаточно высока, чтобы размещать фотографии, так что принимал их сам ..)VBA Code - объединение строк первенствовать с отрицательными числами
в
Я некоторые VBA код, который я нашел и модифицирована:
Девушка, которая управляет этим первенствует листы не предварительно сортировать по номеру счета, как я сделал в первом скриншоте выше, так что также в коде ниже
Sub MergeRows()
Dim iRow As Long, oCell As Object
Sheets(1).Activate
Columns("A:H").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers
iRow = 1
Do While Len(Cells(iRow, 1)): DoEvents
If Cells(iRow, 1) = Cells(iRow + 1, 1) Then
For Each oCell In Rows(iRow).Cells
If oCell < Cells(iRow + 1, oCell.Column) Then
oCell = Cells(iRow + 1, oCell.Column)
End If
Next
Rows(iRow + 1).Delete
Else
iRow = iRow + 1
End If
Loop
End Sub
Однако
If oCell < Cells(iRow + 1, oCell.Column) Then
строка, похоже, вызывает удаление отрицательных чисел, поскольку они не больше, чем пустые ячейки над ними. (правильно?), и я не могу найти решение, что A) не удаляет отрицательные числа, а B) не требует часа для запуска.
Я попытался swaping этой строки с:
If Len(Trim(oCell)) = 0 Then
Но когда вы получаете в 100+ строк счетов это занимает очень много времени.
Есть ли какой-то другой способ, который мы можем сортировать, тогда объединить строки, не теряя негативов, или потратив час на запуск?
Я уверен, что это простое решение. Но я новичок в коде VBA.
Спасибо,
Спасибо! Настолько лучше, чем я придумал. :) – Mel