powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Поиск максимального значения.
7 сообщений из 7, страница 1 из 1
Поиск максимального значения.
    #36838830
Alex9682
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Решаю следующую задачу
Требуется перебрать 180 строк по столбцам с D по L, найти максимальное значение в каждой строке и пометить его цветом
Использую следующий макрос.


Sub Макс()
Dim iMaxRange As Range
Dim iMax As Long
For w = 1 To 180
R1 = Range("D3").Offset(w, 0).Address
R2 = Range("L3").Offset(w, 0).Address

iMax = WorksheetFunction.Max(Range(R1 & " : " & R2))
If iMax = 0 Then 'если в строке нет чисел
GoTo q:
End If
Set iMaxRange = Range(R1 & " : " & R2).Find(What:=iMax, LookIn:=xlValues, LookAt:=xlWhole) 'ищем ячейку с максим. значением
iMaxRange.Interior.ColorIndex = 3 'выделяем красным
q:
Next
End Sub

Но выдает ошибку на строке - iMaxRange.Interior.ColorIndex = 3, потому что в предыдущей строке не было найдено и присвоено искомое значение.

Если ставлю обычные цифры 1, 2, и т.д. , то все работает нормально, но учитывая что у меня цифры могут иметь по 10 знаков после запятой, то видимо по этому происходит ошибка.
Замена Long на Double не помогает. Как быть?
...
Рейтинг: 0 / 0
Поиск максимального значения.
    #36838853
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex9682Если ставлю обычные цифры 1, 2, и т.д. , то все работает нормально, но учитывая что у меня цифры могут иметь по 10 знаков после запятой, то видимо по этому происходит ошибка.
Замена Long на Double не помогает.Здравствуйте.
Тип данных Decimal обеспечивает наибольшее количество значащих цифр числа. Он поддерживает до 29 значащих цифр и может представлять значения, превышающие 7.9228 x 10^28
...
Рейтинг: 0 / 0
Поиск максимального значения.
    #36838859
Alex9682
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
что то у себя в Excel не нашел что переменной можно присвоить Decimal.
Но проблемка решена. Забил на все и сделл по простому))
убрал поиск и сделал прямое сравненние и все заработало

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Sub Макс()
Dim iMaxRange As Range
Dim iMax As Double
 For w =  1  To  180 
    R1 = Range("D3").Offset(w,  0 ).Address
    R2 = Range("L3").Offset(w,  0 ).Address
   
    iMax = WorksheetFunction.Max(Range(R1 & " : " & R2))
    If iMax =  0  Then 'если в строке нет чисел
        GoTo q:
    End If
 
For t =  0  To  8 
 If Range("D3").Offset(w, t) = iMax Then
 Range("D3").Offset(w, t).Interior.ColorIndex =  3 
 End If
Next

q:
 Next
End Sub
...
Рейтинг: 0 / 0
Поиск максимального значения.
    #36842046
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex9682,

Попробуйте так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Sub Макс()
    Dim iMaxRange As Range
    Dim iMax As Double
    For w =  1  To  180 
        R1 = Range("D3").Offset(w,  0 ).Address
        R2 = Range("L3").Offset(w,  0 ).Address
        iMax = WorksheetFunction.Max(Range(R1 & " : " & R2))
        If iMax >  0  Then    'если в строке числа
            Set iMaxRange = Range(R1).EntireRow.Find(What:=iMax, LookIn:=xlFormulas, LookAt:=xlWhole)    'ищем ячейку с максим. значением
            If Not iMaxRange Is Nothing Then iMaxRange.Interior.ColorIndex =  3     'выделяем красным
        End If
    Next
End Sub
...
Рейтинг: 0 / 0
Поиск максимального значения.
    #36842996
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор: Alex9682,The_Prist - используйте тег SRC.
...
Рейтинг: 0 / 0
Поиск максимального значения.
    #36843007
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-dukeThe_Prist - используйте тег SRC.Извиняйте, я по привычке использовал тег Sub. Обещаю исправиться :-)
...
Рейтинг: 0 / 0
Поиск максимального значения.
    #36843227
I need your help
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использовать GOTO - очень и очень дурной тон, однака.
Это мое ИМНО
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Поиск максимального значения.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]