|
|
|
выбор самого большого числа в строке
|
|||
|---|---|---|---|
|
#18+
Такая проблема: Есть строка. В ней какое-то количество столбцов. Необходимо, чтобы в этой строке было бы выбрано самое большое значение и выделено каким-либо образом (другим цветом или шрифтом - это уже не столь важно). Подскажите КАК? Заранее спасибо!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2008, 14:08:15 |
|
||
|
выбор самого большого числа в строке
|
|||
|---|---|---|---|
|
#18+
Формат>Условное форматирование>MAX(A1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2008, 16:08:08 |
|
||
|
выбор самого большого числа в строке
|
|||
|---|---|---|---|
|
#18+
что-то это не то....мне нужно через basic ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2008, 14:33:49 |
|
||
|
выбор самого большого числа в строке
|
|||
|---|---|---|---|
|
#18+
Все спасибо...уже не надо...сам написал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2008, 14:57:26 |
|
||
|
выбор самого большого числа в строке
|
|||
|---|---|---|---|
|
#18+
Покаж как сделал :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2008, 15:20:23 |
|
||
|
выбор самого большого числа в строке
|
|||
|---|---|---|---|
|
#18+
Тут, наверное, можно сделать 2-мя путями 1) перебором каждой ячейки в ряду 2) использовать функцию рабочего листа МАКС() и поиск этого максимального значения Вот вариант второго пути Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2008, 15:57:31 |
|
||
|
выбор самого большого числа в строке
|
|||
|---|---|---|---|
|
#18+
Ну, в вас, Павел, я не сомневался :-) Мне было интересно как сделал эту задачу Alexei Gennadevich :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2008, 16:01:34 |
|
||
|
выбор самого большого числа в строке
|
|||
|---|---|---|---|
|
#18+
Я как раз сделал первым способом: когда перебираются все ячейки. Ниже мой код, но решение, предложенное Павлом, выглядит более солидно. Просто это еще не мой уровень. Sub poisk() j = 1 Do Range("A" + CStr(j)).Activate 2 x = 1 1 If ActiveCell.Offset(0, x).Value = "" Then ActiveCell.Font.Bold = True GoTo 3 End If If ActiveCell.Value < ActiveCell.Offset(0, x).Value Then ActiveCell.Offset(0, x).Activate GoTo 2 Else x = x + 1 GoTo 1 End If 3 j = j + 1 Loop While Range("A" + CStr(j)).Value > "" End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 22:03:42 |
|
||
|
выбор самого большого числа в строке
|
|||
|---|---|---|---|
|
#18+
Еще есть третий способ и, как мне кажется, оптимальный: Код: plaintext 1. 2. KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 02:07:20 |
|
||
|
выбор самого большого числа в строке
|
|||
|---|---|---|---|
|
#18+
да, круто) но в русском офисе формула MAX(R) не работает, надо МАКС(R) А при повторном запуске макроса, он добавляет новое (2 и 3) идентичное условие, а при 4-ом запуске происходит ошибка 1004 (в офисе 2003, т.к. там можно только 3 условия) Поэтому, с позволения KL , дополню Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 03:12:49 |
|
||
|
выбор самого большого числа в строке
|
|||
|---|---|---|---|
|
#18+
За что благодарен этому форуму, так это за то что, спросив совета умных людей, нелепые скрипты на целую страницу, написанные собственными силами, можно заменить на коды из двух строчек...всем огромное спасибо. P.S.:Ребят не могли бы еще объяснить, что несет в себе условие Add(2, , "=RC=МАКС(R)"). Как я понимаю "=RC=МАКС(R)" - это условие максимального числа. А что такое "2, ,"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 08:49:34 |
|
||
|
выбор самого большого числа в строке
|
|||
|---|---|---|---|
|
#18+
Читайте справку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 10:18:47 |
|
||
|
выбор самого большого числа в строке
|
|||
|---|---|---|---|
|
#18+
Это тип условия. Принимает два значения: xlCellValue (1) The conditional format is based on a cell value. xlExpression (2) The conditional format is based on an expression. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 10:35:25 |
|
||
|
выбор самого большого числа в строке
|
|||
|---|---|---|---|
|
#18+
Цитата из Справки Excel по FormatCondition.Add expression.Add(Type, Operator, Formula1, Formula2) expression - Required. An expression that returns a FormatConditions object. Type Required XlFormatConditionType . Specifies whether the conditional format is based on a cell value or an expression. XlFormatConditionType can be one of these XlFormatConditionType constants. - xlCellValue The conditional format is based on a cell value. - xlExpression The conditional format is based on an expression. Operator Optional Variant. The conditional format operator. Can be one of the following XlFormatConditionOperator constants: xlBetween, xlEqual, xlGreater, xlGreaterEqual, xlLess, xlLessEqual, xlNotBetween , or xlNotEqual . If Type is xlExpression, the Operator argument is ignored. Formula1 Optional Variant. The value or expression associated with the conditional format. Can be a constant value, a string value, a cell reference, or a formula. Formula2 Optional Variant. The value or expression associated with the second part of the conditional format when Operator is xlBetween or xlNotBetween (otherwise, this argument is ignored). Can be a constant value, a string value, a cell reference, or a formula. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 11:16:56 |
|
||
|
выбор самого большого числа в строке
|
|||
|---|---|---|---|
|
#18+
А что, если я хочу, чтобы окрашивались те ячейки, которые больше скажем 0, но меньше 10. Я попробовал так: Sub Test() Rows(5).FormatConditions.Delete Rows(5).FormatConditions.Add(2, xlBetween, "=RC>0", "=RC<10").Interior.Color = 255 End Sub Но, к сожалению, у меня выделялись все ячейки, которые больше не только 0, но и больше 10 (то есть выполнялось только первое условие). Как быть в данном случае? Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2008, 16:07:01 |
|
||
|
выбор самого большого числа в строке
|
|||
|---|---|---|---|
|
#18+
Это, наверное, из-за того, что "между" работает только когда тип "Значение" (1), а не "Формула" (2) . Цитатат из Справки: "If Type is xlExpression , the Operator argument is ignored ." Попробуйте так Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2008, 16:20:21 |
|
||
|
выбор самого большого числа в строке
|
|||
|---|---|---|---|
|
#18+
или так: Sub Test1() Rows(5).FormatConditions.Delete Rows(5).FormatConditions.Add(2, , "=(RC>0)*(RC<10)").Interior.Color = 255 End Sub Sub Test2() Rows(5).FormatConditions.Delete Rows(5).FormatConditions.Add(2, , "=И(RC>0;RC<10)").Interior.Color = 255 End Sub KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2008, 17:50:24 |
|
||
|
|

start [/forum/topic.php?fid=61&fpage=249&tid=2181610]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 421ms |

| 0 / 0 |
