Здравствуйте, не могли бы помочь. Задача: 1.1 надо найти позицию первого максимального числа по строкам и по столбцам и залить его цветом. 1.2. найти все максимумы. Таблица прикрепленна в 1 файле, там три кнопки, при нажатии на них должны выделяться максим.числа.
Здравствуйте, не могли бы помочь. Задача: 1.1 надо найти позицию первого максимального числа по строкам и по столбцам и залить его цветом. 1.2. найти все максимумы. Таблица прикрепленна в 1 файле, там три кнопки, при нажатии на них должны выделяться максим.числа.rubin
rubin, не подскажите, если я написал такой код, не могли бы пожалуйста помочь, он у меня выделяет одно максимальное число к примеру по столбцам, а как сделать,чтобы несколько значений выделял, значения ведь могут повторяться [vba]
Код
Sub МаксимумСтрока() Set Диапазон= Selection 'Проверка того, чтобы выделенная область состояла из одного диапазона If Диапазон.Areas.Count > 1 Then Exit Sub End If 'Нахождение числа строк и столбцов у диапазона n = Диапазон.Rows.Count M = Диапазон.Columns.Count Maxim = Диапазон.Cells(1, 1).Value For j = 1 To M For i = 1 To n Диапазон.Cells(i, j).ClearFormats s = Диапазон.Cells(i, j).Value If (Maxim < s) Then Maxim = s x = i y = j End If Next i Next j Диапазон.Cells(x, y).Interior.ColorIndex = 7 End Sub Sub МаксимумСтолбец() Set Диапазон = Selection If Диапазон.Areas.Count > 1 Then Exit Sub End If n = Диапазон.Rows.Count M = Диапазон.Columns.Count Maxim = Диапазон.Cells(1, 1).Value For i = 1 To n For j = 1 To M Диапазон.Cells(i, j).ClearFormats s = Диапазон.Cells(i, j).Value If (Maxim < s) Then Maxim = s x = i y = j End If Next j Next i Диапазон.Cells(x, y).Interior.ColorIndex = 3 End Sub
Sub ВсеМакросы() Dim rng As Range Dim c As Range Dim max As Double Set rng = Range("B2:E4") max = Application.WorksheetFunction.max(rng) For Each c In rng If c.Value = max Then c.Font.Bold = True c.Font.Color = RGB(255, 0, 0) Else c.Font.Bold = False c.Font.Color = RGB(0, 0, 0) End If Next
End Sub
[/vba]
rubin, не подскажите, если я написал такой код, не могли бы пожалуйста помочь, он у меня выделяет одно максимальное число к примеру по столбцам, а как сделать,чтобы несколько значений выделял, значения ведь могут повторяться [vba]
Код
Sub МаксимумСтрока() Set Диапазон= Selection 'Проверка того, чтобы выделенная область состояла из одного диапазона If Диапазон.Areas.Count > 1 Then Exit Sub End If 'Нахождение числа строк и столбцов у диапазона n = Диапазон.Rows.Count M = Диапазон.Columns.Count Maxim = Диапазон.Cells(1, 1).Value For j = 1 To M For i = 1 To n Диапазон.Cells(i, j).ClearFormats s = Диапазон.Cells(i, j).Value If (Maxim < s) Then Maxim = s x = i y = j End If Next i Next j Диапазон.Cells(x, y).Interior.ColorIndex = 7 End Sub Sub МаксимумСтолбец() Set Диапазон = Selection If Диапазон.Areas.Count > 1 Then Exit Sub End If n = Диапазон.Rows.Count M = Диапазон.Columns.Count Maxim = Диапазон.Cells(1, 1).Value For i = 1 To n For j = 1 To M Диапазон.Cells(i, j).ClearFormats s = Диапазон.Cells(i, j).Value If (Maxim < s) Then Maxim = s x = i y = j End If Next j Next i Диапазон.Cells(x, y).Interior.ColorIndex = 3 End Sub
Sub ВсеМакросы() Dim rng As Range Dim c As Range Dim max As Double Set rng = Range("B2:E4") max = Application.WorksheetFunction.max(rng) For Each c In rng If c.Value = max Then c.Font.Bold = True c.Font.Color = RGB(255, 0, 0) Else c.Font.Bold = False c.Font.Color = RGB(0, 0, 0) End If Next
gling, не подскажите, если я написал такой код, не могли бы пожалуйста помочь, он у меня выделяет одно максимальное число к примеру по столбцам, а как сделать,чтобы несколько значений выделял, значения ведь могут повторяться
[vba]
Код
Sub МаксимумСтрока() Set Диапазон= Selection 'Проверка того, чтобы выделенная область состояла из одного диапазона If Диапазон.Areas.Count > 1 Then Exit Sub End If 'Нахождение числа строк и столбцов у диапазона n = Диапазон.Rows.Count M = Диапазон.Columns.Count Maxim = Диапазон.Cells(1, 1).Value For j = 1 To M For i = 1 To n Диапазон.Cells(i, j).ClearFormats s = Диапазон.Cells(i, j).Value If (Maxim < s) Then Maxim = s x = i y = j End If Next i Next j Диапазон.Cells(x, y).Interior.ColorIndex = 7 End Sub Sub МаксимумСтолбец() Set Диапазон = Selection If Диапазон.Areas.Count > 1 Then Exit Sub End If n = Диапазон.Rows.Count M = Диапазон.Columns.Count Maxim = Диапазон.Cells(1, 1).Value For i = 1 To n For j = 1 To M Диапазон.Cells(i, j).ClearFormats s = Диапазон.Cells(i, j).Value If (Maxim < s) Then Maxim = s x = i y = j End If Next j Next i Диапазон.Cells(x, y).Interior.ColorIndex = 3 End Sub
Sub ВсеМакросы() Dim rng As Range Dim c As Range Dim max As Double Set rng = Range("B2:E4") max = Application.WorksheetFunction.max(rng) For Each c In rng If c.Value = max Then c.Font.Bold = True c.Font.Color = RGB(255, 0, 0) Else c.Font.Bold = False c.Font.Color = RGB(0, 0, 0) End If Next
End Sub
[/vba]
gling, не подскажите, если я написал такой код, не могли бы пожалуйста помочь, он у меня выделяет одно максимальное число к примеру по столбцам, а как сделать,чтобы несколько значений выделял, значения ведь могут повторяться
[vba]
Код
Sub МаксимумСтрока() Set Диапазон= Selection 'Проверка того, чтобы выделенная область состояла из одного диапазона If Диапазон.Areas.Count > 1 Then Exit Sub End If 'Нахождение числа строк и столбцов у диапазона n = Диапазон.Rows.Count M = Диапазон.Columns.Count Maxim = Диапазон.Cells(1, 1).Value For j = 1 To M For i = 1 To n Диапазон.Cells(i, j).ClearFormats s = Диапазон.Cells(i, j).Value If (Maxim < s) Then Maxim = s x = i y = j End If Next i Next j Диапазон.Cells(x, y).Interior.ColorIndex = 7 End Sub Sub МаксимумСтолбец() Set Диапазон = Selection If Диапазон.Areas.Count > 1 Then Exit Sub End If n = Диапазон.Rows.Count M = Диапазон.Columns.Count Maxim = Диапазон.Cells(1, 1).Value For i = 1 To n For j = 1 To M Диапазон.Cells(i, j).ClearFormats s = Диапазон.Cells(i, j).Value If (Maxim < s) Then Maxim = s x = i y = j End If Next j Next i Диапазон.Cells(x, y).Interior.ColorIndex = 3 End Sub
Sub ВсеМакросы() Dim rng As Range Dim c As Range Dim max As Double Set rng = Range("B2:E4") max = Application.WorksheetFunction.max(rng) For Each c In rng If c.Value = max Then c.Font.Bold = True c.Font.Color = RGB(255, 0, 0) Else c.Font.Bold = False c.Font.Color = RGB(0, 0, 0) End If Next
vlaste, Вариант в файле. Что то вроде такого: [vba]
Код
Sub MaxStrok() Application.ScreenUpdating = False Dim MaxStr As Long, e As Range Dim R As Long, c As Long With Selection '.Interior.Pattern = xlNone R = .Rows.Count c = .Columns.Count For i = 1 To R MaxStr = Application.max(Range(Cells(i, 1), Cells(i, c)).Value) For j = 1 To c If Cells(i, j) = MaxStr And MaxStr <> 0 Then Cells(i, j).Interior.ColorIndex = 4 End If Next Next End With Application.ScreenUpdating = True End Sub
[/vba]
vlaste, Вариант в файле. Что то вроде такого: [vba]
Код
Sub MaxStrok() Application.ScreenUpdating = False Dim MaxStr As Long, e As Range Dim R As Long, c As Long With Selection '.Interior.Pattern = xlNone R = .Rows.Count c = .Columns.Count For i = 1 To R MaxStr = Application.max(Range(Cells(i, 1), Cells(i, c)).Value) For j = 1 To c If Cells(i, j) = MaxStr And MaxStr <> 0 Then Cells(i, j).Interior.ColorIndex = 4 End If Next Next End With Application.ScreenUpdating = True End Sub