блин. слона то я и не приметил. вот что значит неуч Wasilich, спасибо. [p.s.]а теперь надо голову ломать :разбираться в коде, а то ведь если чё исправлять то мне
блин. слона то я и не приметил. вот что значит неуч Wasilich, спасибо. [p.s.]а теперь надо голову ломать :разбираться в коде, а то ведь если чё исправлять то мне китин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Сообщение отредактировал китин - Понедельник, 09.01.2017, 13:20
Игорь, извини, я сейчас не дома и сложно в интернет выходить. Вот, лови. Так хотел? Кстати, про столбец А - можно просто назвать его одинаково во всех листах, тогда он сам подхватывался бы - это про слона А УФ зачем? Тогда нужно за диапазоном УФ следить или заведомо бОльший давать, что на производительности скажется. Просто в конце ставим формат ячейки с красными отрицательными. [vba]
Игорь, извини, я сейчас не дома и сложно в интернет выходить. Вот, лови. Так хотел? Кстати, про столбец А - можно просто назвать его одинаково во всех листах, тогда он сам подхватывался бы - это про слона А УФ зачем? Тогда нужно за диапазоном УФ следить или заведомо бОльший давать, что на производительности скажется. Просто в конце ставим формат ячейки с красными отрицательными. [vba]
Да ладно уж. Человек не мог тебя дождаться. А я поленился додумывать. По быстрому смикитил, пока он тебя дождется. А в случае стирания границ, есть простая команда и нечего не оставляет[vba]
Код
Range(диапазон).Borders.LineStyle = xlNone
[/vba]Просто не вспомнил, а искать тоже поленился. А Игорю, и это в пользу. Работало же.
Да ладно уж. Человек не мог тебя дождаться. А я поленился додумывать. По быстрому смикитил, пока он тебя дождется. А в случае стирания границ, есть простая команда и нечего не оставляет[vba]
Код
Range(диапазон).Borders.LineStyle = xlNone
[/vba]Просто не вспомнил, а искать тоже поленился. А Игорю, и это в пользу. Работало же. Wasilich
Сообщение отредактировал Wasilich - Вторник, 10.01.2017, 21:23
не соглашусь. Нужно сразу учиться задумываться о правильности и быстроте решения. За примером далеко ходить не нужно - я, когда только начинал макросы изучать, не очень понял про объявление переменных и благополучно на это забил, благо и без объявления все работало. Так и пишу почти всегда без Dim-ов. Сейчас-то знаю что и как, но привычка осталась. В 99% это почти ни на что не влияет, но бывает, что объявления существенно ускоряют работу. Да и по-феншую это. Поэтому я считаю, что "Лишь бы работало" - это вариант для людей типа "Excel не знаю и знать не хочу", а для Игоря нужно так писать, чтобы он при анализе кода хорошему учился.
Ну Василич, ну повеселил - это вспомнил[vba]
Код
.Borders(xlInsideVertical).LineStyle = xlNone
[/vba], а это не вспомнил [vba]
Код
.Borders.LineStyle = xlNone
[/vba] А дождаться меня сейчас да, не всегда легко - я в Корее, разница 6 часов, да и не всегда я тут у компа.
не соглашусь. Нужно сразу учиться задумываться о правильности и быстроте решения. За примером далеко ходить не нужно - я, когда только начинал макросы изучать, не очень понял про объявление переменных и благополучно на это забил, благо и без объявления все работало. Так и пишу почти всегда без Dim-ов. Сейчас-то знаю что и как, но привычка осталась. В 99% это почти ни на что не влияет, но бывает, что объявления существенно ускоряют работу. Да и по-феншую это. Поэтому я считаю, что "Лишь бы работало" - это вариант для людей типа "Excel не знаю и знать не хочу", а для Игоря нужно так писать, чтобы он при анализе кода хорошему учился. _Boroda_
Первое - снятие промежуточных вертикальных линий покраски. Поставь запись макроса, поставь у ячеек всякие границы и посмотри, что запишется. Там кода много будет, но все логично, понять несложно. Второе - от ячейки К3 увеличиваем диапазон на r111_-2 вниз и на 12 вправо и ставим формат ячейки числовой с разделителями и красными отрицательными # ##0_ ;[Красный]-# ##0\ Тоже можно автозаписью макроса - посмотри в модуле 2, там как раз автозапись, я оттуда сдул, а потом этот модуль стереть забыл.
[p.s.]А в Корее я в качестве сопровождающего родственника на медобслуживание[/p.s.]
Первое - снятие промежуточных вертикальных линий покраски. Поставь запись макроса, поставь у ячеек всякие границы и посмотри, что запишется. Там кода много будет, но все логично, понять несложно. Второе - от ячейки К3 увеличиваем диапазон на r111_-2 вниз и на 12 вправо и ставим формат ячейки числовой с разделителями и красными отрицательными # ##0_ ;[Красный]-# ##0\ Тоже можно автозаписью макроса - посмотри в модуле 2, там как раз автозапись, я оттуда сдул, а потом этот модуль стереть забыл.
[p.s.]А в Корее я в качестве сопровождающего родственника на медобслуживание[/p.s.]_Boroda_
Так я ж тоже учусь. А то, что не вспомнил, макрорекордером записал. А так, бывает вместо запятой ";" поставлю или наоборот и туплю. А вот насчет, чтобы знать, что хорошее, надо с чем то сравнивать.
Так я ж тоже учусь. А то, что не вспомнил, макрорекордером записал. А так, бывает вместо запятой ";" поставлю или наоборот и туплю. А вот насчет, чтобы знать, что хорошее, надо с чем то сравнивать.
Всем доброе утро!!! Вопрос вдогонку: А что и, главное где, дописать в макросе от _Boroda_, (пост 24), что бы критерий был не только 60, но и все производные от 60. как то 6010, 60вр, 6061 и т.д.( т.е. все, что содержит 60???? [offtop]60&"*" 60&* 60* не катит совершенно [/offtop]
Всем доброе утро!!! Вопрос вдогонку: А что и, главное где, дописать в макросе от _Boroda_, (пост 24), что бы критерий был не только 60, но и все производные от 60. как то 6010, 60вр, 6061 и т.д.( т.е. все, что содержит 60???? [offtop]60&"*" 60&* 60* не катит совершенно [/offtop]китин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Сообщение отредактировал китин - Пятница, 13.01.2017, 08:11
Повезло) Просто Саша в своем последем файле забыл убрать старые 2 строчки: [vba]
Код
If r1_ >= r0_ Then '=== For j = r0_ To r1_ If .Range("B" & j) Like "60*" Then col_ = col_ + 1 End If Next j '=== nr_ = r1_ - r0_ + 1 'вот эту col_ = col_ + WorksheetFunction.CountIf(.Range("B" & r0_).Resize(nr_), 60) 'и вот эту End If
[/vba] Поэтому col_ получается больше, чем нужно, это не вызывает ошибки.
А если использовать только мой вариант, макрос может и не сработать (пример во вложении), т.к. countIf (счётесли) считает не то, что нужно.
Повезло) Просто Саша в своем последем файле забыл убрать старые 2 строчки: [vba]
Код
If r1_ >= r0_ Then '=== For j = r0_ To r1_ If .Range("B" & j) Like "60*" Then col_ = col_ + 1 End If Next j '=== nr_ = r1_ - r0_ + 1 'вот эту col_ = col_ + WorksheetFunction.CountIf(.Range("B" & r0_).Resize(nr_), 60) 'и вот эту End If
[/vba] Поэтому col_ получается больше, чем нужно, это не вызывает ошибки.
А если использовать только мой вариант, макрос может и не сработать (пример во вложении), т.к. countIf (счётесли) считает не то, что нужно.Manyasha
Просто Саша в своем последем файле забыл убрать старые 2 строчки:
Точно, Марин, спасибо. Я сначала-то убрал, макрос запустил, все нормально, а потом стал на форум код копировать, апострофы постирал, скопировал код и апострофы взад поставить забыл Вот нормальный файл
Просто Саша в своем последем файле забыл убрать старые 2 строчки:
Точно, Марин, спасибо. Я сначала-то убрал, макрос запустил, все нормально, а потом стал на форум код копировать, апострофы постирал, скопировал код и апострофы взад поставить забыл Вот нормальный файл_Boroda_