Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
Наведите на мысль как лучше решить вот такую задачку? Я что-то даже не знаю с чего начать... на картинке результат который надо получить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 15:41 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
lopuxi, Ах да. не дописал. То что отмеченное серым. надо что бы программа сама закрасила, потом по закрашенной в ячейке цвету она ориентировалась, надо в ячейку заносить число или не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 15:43 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
lopuxiсама закрасила на основании чего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 15:45 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
> Автор: Shocker.Pro > на основании чего? на основании вхождения в диапазон в строке, первая ячейка - диапазон, в столбце - название дня, вот их пересечение и нужно Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 15:47 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос > Автор: Shocker.Pro > на основании чего? на основании вхождения в диапазон в строке, первая ячейка - диапазон, в столбце - название дня, вот их пересечение и нужно Как я предполагаю, надо написать функцию распознавания того что написано в ячейке. Если там написано пн-пт. То програма должна найти ячейки пн, вт, ср, чт, пт. Потом по выделенной строке закрасить все эти ячейки. Но вот только как это написать в коде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 15:53 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
Где-то я это уже видел.... Может кто знает как бы сделать так что бы программа различала текст? то есть. пн, вт, ср, чт, пт. - дни недели пн-пт - дни когда выходит данная программа. а значит ячейки пн, вт, ср, чт, пт - должны быть закрашены... Re: Закраска ячеек в Excel с помощью VBA [new] .Михаил. Member Откуда: Екатеринбург Сообщений: 15 lopuxi, во такая функция на рассмотрение Function MyFunc(ByVal mDays As String, ByVal mDay As String) As Boolean Dim xDay(1 To 7) As String, i As Integer, i1 As Integer, res() As String, mReturn As Boolean Dim day1 As Integer, day2 As Integer, day3 As Integer mDays = Replace(mDays, " ", ""): mDay = Replace(mDay, " ", "") ' удаление пробелов xDay(1) = "пн": xDay(2) = "вт":: xDay(3) = "ср": xDay(4) = "чт" xDay(5) = "пт": xDay(6) = "сб": xDay(7) = "вс" mReturn = False res = Split(mDays, ",") For i = 0 To UBound(res) If res(i) Like "??-??" Then For i1 = 1 To 7 If Mid(res(i), 1, 2) = xDay(i1) Then day2 = i1 If Mid(res(i), 4, 2) = xDay(i1) Then day3 = i1 If mDay = xDay(i1) Then day1 = i1 Next If day2 <= day1 And day1 <= day3 Then mReturn = True End If If res(i) Like "??" And (res(i) = mDay) Then mReturn = True Next MyFunc = mReturn End Function например MsgBox MyFunc("ср", "ср") MsgBox MyFunc("ср, сб", "ср") MsgBox MyFunc("пн-вс", "ср") MsgBox MyFunc("пн-ср,пт", "ср") MsgBox MyFunc("пн,ср-пт,вс", "пт") возвращает во всех случаях True. lopuxi, данная функция полностью поставленную Вами задачу не решает, но, я считаю, направит Вас в "правильном направлении"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 16:01 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
Hugo121Где-то я это уже видел.... да, да я ее тогда так и не решил... сейчас вернулся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 16:04 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос > Автор: Shocker.Pro > на основании чего? на основании вхождения в диапазон в строке, первая ячейка - диапазон, в столбце - название дня, вот их пересечение и нужно Ну это неочевидно из приведенного рисунка, поэтому и спросил. lopuxiна картинке результат который надо получить. Так как на картинки не все такие пересечения закрашены, все-таки требуется уточнения алгоритма. Что касается функции распознавания, тут есть два пути: 1) составить массив из 7 дней и соответствующих ему индексов, далее разбирать строку, распознавать элементы массива, запятые и тире. Функция получится универсальная, но громоздкая 2) Решить с помощью справочника, если вариантов ограниченный диапазон. Вам какой вариант больше нравится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 16:25 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
Собственно, первый вариант прописан в ответе Hugo - чем он вас не устраивает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 16:27 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro lopuxiна картинке результат который надо получить. Так как на картинки не все такие пересечения закрашены, все-таки требуется уточнения алгоритма. Что касается функции распознавания, тут есть два пути: 1) составить массив из 7 дней и соответствующих ему индексов, далее разбирать строку, распознавать элементы массива, запятые и тире. Функция получится универсальная, но громоздкая 2) Решить с помощью справочника, если вариантов ограниченный диапазон. Вам какой вариант больше нравится? Это просто я закрасил не все ячейки. В обще они все закрашиваются до конца. В обще мне кажется задачка не моего уровня, я за нее уже третий раз берусь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 16:28 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
Shocker.ProСобственно, первый вариант прописан в ответе Hugo - чем он вас не устраивает? Вариант может и хороший, я его пытался его применить, но все четно. Я думал может имеется другой способ по проще Но если нету буду биться с вариантом хуго. Все же откладывать задачу в четвертый раз не хочется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 16:35 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
lopuxiВариант может и хороший, я его пытался его применить, но все четно. Я думал может имеется другой способ по проще Вариант проще - написать ту же функцию с помощью справочника. Но коли функция УЖЕ НАПИСАНА, стало быть это проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 16:39 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
Shocker.ProlopuxiВариант может и хороший, я его пытался его применить, но все четно. Я думал может имеется другой способ по проще Вариант проще - написать ту же функцию с помощью справочника. Но коли функция УЖЕ НАПИСАНА, стало быть это проще. Беда в том что я не смог ее применить Щас покавыряюсь еще с ней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 16:45 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
Это выше не мой вариант, там если присмотреться .Михаил. автор... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 16:53 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
lopuxiНо вот только как это написать в коде? Блин! Сочинение пользователя sql.ru Игоря Горбоноса на тему: "Как я провел лето решал- БЫ задачу" Код: plaintext 1. 2. В первых ячейках строк есть диапазоны дней недели. Задача проверить вхождение точки(дня недели) в диапазон дней недели. Решение, мне понадобится функция получающая на вход значение диапазона и точку для проверки и возвращающую логическое значение True - входит точка в диапазон/False - не входит точка в диапазон. Пишем непосредственно функцию проверки на вхождение в интервал: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 16:55 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
Игорь, ну ты балуешь человека. Так он совсем самостоятельно думать перестанет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 16:57 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
> Автор: Shocker.Pro > Игорь, ну ты балуешь человека. Вот как раз, пытаюсь достигнуть совсем другого результата. Показывая, как вместо каши их кучи вычленений из строки и постоянных проверок получить простой и понятный код, который можно развивать дальше. Ведь ' Делаем преобразование дня недели в число, основываясь на том, ' что нет диапазонов переваливающих за воскресенье, ' типа пятница-понедельник довольно просто обходится, например усложнив условие проверки > Так он совсем самостоятельно думать перестанет Я давно согласился с выводом, что сложная реализация сложна в понимании, тем более если человек учится. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 17:09 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
Игорь ГорбоносЯ давно согласился с выводом, что сложная реализация сложна в понимании, тем более если человек учится. тогда почему Код: plaintext 1. и где проверка на диапазон в виде перечисления? кстати, я так понимаю, диапазон может быть и таким: "пн-вт, чт-пт" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 17:59 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
Shocker.Proтогда почему Код: plaintext 1. Потому, что не правильно написанно условие проверки, там написанно начало интервала больше или равно И конец интервала меньше или равен нужно так: Код: plaintext 1. > и где проверка на диапазон в виде перечисления? В смысле? > кстати, я так понимаю, диапазон может быть и таким: "пн-вт, чт-пт" может, и будет, может и таким быть - "пн" Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 18:16 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
В общем, раз Игорь молчит - доработал сам Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. кажись так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 18:18 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос > и где проверка на диапазон в виде перечисления? В смысле? третья строка задания Игорь Горбонос > кстати, я так понимаю, диапазон может быть и таким: "пн-вт, чт-пт" может, и будет, может и таким быть - "пн" Ну с этим как раз твой алгоритм справлялся :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 18:20 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
> Автор: Shocker.Pro > тогда почему Потому, что я писал сочинение и не проверял на работоспособность Не авторское, это дело, проверять написанное. А мой редактор вместе с техническим консультантом сейчас в отпуске, вот и приходится спускатся с высот сочинительства, на грешную землю отладки Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 18:21 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
> Автор: Shocker.Pro > третья строка задания Упс! теперь я, не внимательно изучил задание > кажись так Но одобряю Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 18:30 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
Игорь ГорбоносПотому, что я писал сочинение и не проверял на работоспособность Вот всегда удивлялся, почему на форуме работоспособность решения проверяет не аффтар, а третьи лица. Но сегодня - сам попался. Игорь Горбоносполучить простой и понятный код, который можно развивать дальше. Вот это тебе удалось. Доказано мной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 18:49 |
|
||
|
Создание графика VBA Excel
|
|||
|---|---|---|---|
|
#18+
lopuxiShocker.ProСобственно, первый вариант прописан в ответе Hugo - чем он вас не устраивает? Вариант может и хороший, я его пытался его применить, но все четно. Я думал может имеется другой способ по проще Но если нету буду биться с вариантом хуго. Все же откладывать задачу в четвертый раз не хочется. функция не рабочая? укажите при каких входящих параметрах она [функция] "работает" неправильно? это заголовок моей функции Код: plaintext 1. mDay - это день недели, для которого нужно определить, входит ли в интервал или нет (на Вашем рисунке это "значения" по горизонтали); mDays - это интервал(ы) дней недели (на Вашем рисунке это "значения" по вертикали). Эти входящие параметры путать местами нельзя. И обязательно они должны быть типа String . Выше уже приводили конечную реализацию, приведу свою (с использованием своей функции) (на основании рисунка в 1-ом сообщении) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2009, 11:48 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36374414&tid=2160272]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 16ms |
| total: | 158ms |

| 0 / 0 |
