Я пытаюсь написать фрагмент кода, чтобы Excel мог проходить по строкам данных и автоматически выделять те строки, которые необходимо выделить.
Копия моих данных
Ячейки G, H и I - все формулы.G10 будет равно C10 / B10, H10 будет равно D10 / B10, а I10 будет равно E10 / B10.
Sub HighlightRows()
On Error Resume Next
Range("A10").Select
Range(Selection, Selection.End(xlDown)).Select
rowcount = Selection.Rows.Count
Range("A10").Select
For mycounter = 1 To rowcount
Ret1 = FormatPercent(ActiveCell.Offset(0, 6).Value, 2, vbTrue)
Ret2 = FormatPercent(ActiveCell.Offset(0, 7).Value, 2, vbTrue)
Ret3 = FormatPercent(ActiveCell.Offset(0, 8).Value, 2, vbTrue)
If ActiveCell.Offset(0, 6).Value = "#DIV/0!" Then
ActiveCell.Offset(1, 0).Select
ElseIf Ret1 >= "0.50%" Then
Selection.EntireRow.Interior.Color = 65535
ActiveCell.Offset(1, 0).Select
ElseIf Ret2 >= "3.00%" Then
Selection.EntireRow.Interior.Color = 65535
ActiveCell.Offset(1, 0).Select
ElseIf Ret3 > "15.00" Then
Selection.EntireRow.Interior.Color = 65535
ActiveCell.Offset(1, 0).Select
ElseIf Ret3 = "15.00%" Then
Selection.EntireRow.Interior.Color = 65535
ActiveCell.Offset(1, 0).Select
Else
ActiveCell.Offset(1, 0).Select
End If
Next
End Sub
Это весь код, который у меня есть для этого конкретного модуля.Я разбил Ret1, Ret2 и Ret3, потому что мне нужно было найти, какой из них вызывает проблемы.
В настоящий момент у меня проблема с ElseIF Ret3> "15.00%".Если вы посмотрите на изображение моей ячейки данных, то в этом и заключается проблема I13.
Когда я запускаю код в VBA, он показывает Ret3 как "4.21%", но когда он достигает строки кода, где Ret3> "15.00%", он выделяет строку.
Iискал в Интернете, но я не могу найти ничего, что помогло.Я играл с оператором, но не могу заставить его работать правильно.Обычно я нахожу ответ, который мне нужен, в StackOverflow, прежде чем мне когда-либо приходилось задавать вопрос, но я просто не нашел ничего, что бы решало проблему последовательно во всем наборе данных.