![]() |
ну у меня офиса нет под рукой, но я бы сделал так
Код:
For block = 9 To 56 PS MOD Делит одно число на другое и возвращает только остаток. |
Alex Dark, переменную I вводить необязательно...;)
Код:
For block = 9 To 56 |
ЗЫ :biggrin: я в курсе.
просто так нагляднее и понятнее |
Alex Dark, Borland, :yees:
половина вопроса решена. один талмуд отрихтовал, всё работает :yees: Теперь нужно вернуться на почти полтора года назад, в файлик который сочинил Alex Dark как я понимаю, там скрипт пропускает первые две строки и первые две колонки, по остальным ячейкам бежит и выполняет заданные операции. Вот тут тоже надо разделить: на ячейки в четных строках выполнять старую манипуляцию по раскраске ячеек, а в нечетных немного другую (на все сравниваемые условия минуту добавить)... Пробовал по такому же принципу (If MyRow mod 2 = 1 Then) - ровным счетом ничего не изменилось. Ни ошибку не выдало, ни работать не стало иначе... добавлено в какой переменной у него лежит номер строки? вроде в дебагере смотрю MyRow чуть выше - как раз то что надо, но именно в этом месте Код:
..... |
Цитата:
Цитата:
Код:
if MyRow mod 2 = 1 then <added> Цитата:
|
по первому варианту понятно, по причинам потери - тоже, - я так и предполагал. вопрос как ее туды перекинуть, пусть даже если и заюзав твой вариант но для общей информации и просвещения, так сказать...
|
Цитата:
Либо в явном виде декларировать MyRow как Public (http://www.ozgrid.com/VBA/variable-scope-lifetime.htm). |
Цитата:
процедура "БоеваяРаскраска" предпологает что ты стоишь уже в нужной ячейке (перед вызовом процедуры происходит позиционирование на ячейке) MyRow определена в "Макрос1" и не доступна в "БоеваяРаскраска". Решение: 1. строку Dim MyRow, MyCol вывести в первую строку модуля (а из "Макрос1" убрать). Переменная станет глобальной для модуля 2. в "БоеваяРаскраска" есть переменная А. Это текущая ячейка. a.row() возвратит её номер строки т.е. If (a.Row() mod 2) = 1 Then |
Сложные расчеты
Ребят, нужна помощь
1.Есть несколько столбцов с цифрами, нужно чтоб когда протягиваешь его вниз он считал только до 5, потом начинал опять в первом случае с 0,1,2.... во втором с 1,2,3..., бьюсь с форматами, но не могу придумать как сделать. 2.В некоторых яйчейках используется по несколь цифр, а при этом действия надо производит с каждой из цифр в этой яйчейке. Например 765. А мне надо просчитать 7*2=B5, 6*4=C6, 5*3=D7. Как рабить это число на цифры, чтоб потом считать? 3.Необходимо сопоставит данные и вывести кол-во цифр. Т.е. Конечный результат все процедуры у меня будет выглядеть так 4413233334, надо чтоб он в одной яйчейке вывел кол-во едениц, во второй количество пятерок в третей 8к. Т.е. K1=1, К2=2, К3=33333, К4=444 |
1. Это никакими форматами не сделать. Если только макрос написать.
2. Используй строковые функции. MID тебе поможет. 3. это тоже только макросом. |
Нажмите здесь, чтобы увидеть текст полностью
копирую данные из интернет-бнка сбербанка (запрос открывается в отдельном окне браузера).
|
ариль, стандартный "поиск и замена"
"искать" - ввести два пробела, "Заменить на" - оставить поле пустым. Все сдвоенные пробелы удалятся. |
Borland, быстрее всего автор хочет упростить работу и т.к. Ctrl+F ещё нажимать надо, а плюс ещё человеческий фактор ...
ариль, ну если ты так сильно хочешь макрос я тебе его напишу, там нет ни чего сложного. Ты только скажи какой у тебя офис и пример входного текста. В принципе не вдаваясь в подробности и до безобразия тупо вот так Код:
Sub Макрос2() В ватчесы добавишь ss, MyCells.Formula и MyCells.Value PS А что в сбербанке нет нормальной выгрузки??? Что то как то подозрительно. Они вместе с файлом для печати должны присылать файл выгрузки для автоматической обработки. Его и пользовать. |
Borland в 2003 SP3 не работает - она не находит ничего.
Alex Dark Нажмите здесь, чтобы увидеть текст полностью
приходит вообще вордовский файл с пробелами - замучаешься преобразовывать
|
Цитата:
Можно, в конце концов, скопипастить их прямо из ячейки и вставить в форму поиска замены. Только щас подумалось: пробелы наверно не два подряд "после цифр" а в качестве разделителей разрядов посреди числа? Типа как винда размер файла в байтах отображает? Тогда и вправду предложенная мной схема замены не сработает. Телепалки сообразить что "два пробела после цифр" - это разделители разрядов, не хватило... Заменяйте ничем именно одиночные пробелы. Единственно что - если в таблице есть "полезные пробелы" (скажем, некий текст) - то поиск/замену нужно проводить только по ячейкам с цифрами, а не по всей таблице... И замена эта будет работать и в ворде, и в экселе... Либо, если опять не угадал - "пример файла в студию". |
ариль, с инет-банкингом от сбербанка не сталкивался.
Но с точки зрения здравого смысла, тот же самый экспорт в 1С у них должен быть. А это не что иное как обычный текстовик. К сказанному Borland добавить нечего. Слишком мало данных. |
ужасно стал тормозить excel, office 2007. проблема в том, что чтобы добавить или удалить линию (не дай бог несколько через Ctrl) - то можно чай попить, в магазин сбегать - в прямом смысле. Раньше такого не было... никак не пойму в чём дело... очень много проблем на работе из-за этого... пробовала эту же таблицу на другом компе - та же самая история...
|
Доброго времени!
Насколько я понял из Вашего сообщение, проблемы с одним файлом exel, с некой таблицей??? Если так, выкладывайте файл, посмотрим что там не так. With Best Regards Brainiacs |
Согласен с Brainiacs
Правда пока читал Ваши строки, первая мысль была, почисть temp сделай дефрагментацию. Если таблица содержит конфидециальную инфу, то лучше в приват. Дальше меня не уйдёт. Есть ещё предположение, что ваш файл был создан или когда то использован в 2007 или 2010. И ещё. Если файл напичкан формулами (и не простыми формулами) и макросами. Если содержит не один лист с хреновой кучей колонок и строк, то в принципе вполне возможно. И ещё. Если есть циклическая(ие) ссылки, то книга открывается очень долго. Вот только не помню, сообщение о циклической ссылке отключается или нет. Если отключается, то - циклическая ссылка |
таблицу можно скачать здесь : http://narod.ru/disk/60783793001.189...bleau.xls.html
конфиденциальной информации нет, так что выкладываю сразу на сайте. формул пока нет так много и они самые простые... макросами в данной таблице и не пахнет... у меня 5 рабочих таблиц и во всех есть формулы, но 3 работают нормально, а 2 тормозят. пробовала тупо скопировать таблицу в новый документ, но это не помогает... |
Хммм интересно, в 2003 офисе всё ок, а вот в более новых версияx... происходит то что Вы описывали... попробуем разобраться....
With Best Regards Brainiacs добавлено через 1 час 27 минут 2 Evgeshka Ошибка у Вас где-то в форматах (дело не в цвете, не в числовом формате ячейки, не в формулах, хотя они тоже не правильные, но это допускается) вообщем разбираться где конкретно - долго, проще переформатировать по столбцам и строкам. Формат по цвету лучше делать по конкретному диапазону ячеек, а не по строкам и столбцам (при печати скажется). И про форматирование советую почитать, т.к. Вы работаете с большими, таблицами, хоть и не сложными, но в будущем могут возникнуть проблемы.... Несколько видео по форматированию: _http://www.teachvideo.ru/v/3618 _http://www.teachvideo.ru/v/3619 _http://www.teachvideo.ru/v/3620 _http://www.teachvideo.ru/v/3621 Там много видео по Excel |
Я попробовал открыть на 2010 starter-е.
50% загрузил , я и не заметил, а вот дальше... Сейчас 58%, прошло минут 5-10 и последние минуты две висит на 58% Через несколько секунд К стати, как только написал предыдущие строки и отправил их, загрузился файл в один момент.... |
2 Alex Dark
Ну значит где-то с середины начиная какая-то ошибка, точно в форматировании. Так как я тоже пробовал добавить строки в начале файла, всё быстро было, а если в конце, то ппц секунд 20! With Best Regards Brainiacs |
Просто тут мысль такая возникла. А этот файлец в openOfficce не маслали.
У меня как то был случай, файлец пришёл в 2007 формате (в xlsx). В 2003 excel (с возможностью открывать xlsx) не открывался. 2007-го не было под рукой, открыли в опенофисе. сохранили в xls (а подправить надо было два слова в одной из табличек). Отправили обратно. Там его открыть не смогли. В 2003, в опене, открывается. Качнули портабл 2007. Не может открыть. Установили 2007, всё равно не может открыть. Что за байда происходила и почему 2007 не открывал, разбираться не стали (смысла не было), но замечал не раз, как в опенофисе книжка побывает, 2007-й (2010) начинают тупить при открытии этого файла (PS не то что бы книжка с одним листочком, а вот именно когда листочков с десяток и более или листочек объёмный с формулами и количеством строк и колонок много-много) добавлено через 6 минут Попробовал добавить строку в начале и в конце. В конце это ж..... вот такая Ж....енская доля добавлено через 6 минут К стати, в условном форматировании есть ошибка, ссылается на ошибочную ссылку (последний диапазон, что суммируется в ячейке С1171) Не исключено что есть и ещё где нибудь ошибка добавлено через 21 минуту после удаления всего условного форматирования табличка начала летать. Даже при открытии. Вывод "Жук оглох" (из анекдота), вернее проблема в условном форматировании |
Brainiacs, Alex Dark, в результате ваших комментариев нашла ошибку, но потом не стала заморачиваться и все форматы стёрла, как на рисунке выше, заново оформила форматы и все таблицы работают на ура :). они ещё и весить намного меньше стали.
|
Формат ячейки.
Столкнулась с простой проблемой, на первый взгляд, а решить не могу. 3 ячейки (пусть а, б, с), В них вбиты формулы, которые ссылаются на ячейки с массивом . Соответственно, при изменении массива меняется значение ячеек а,б,с . Ячейки а,б,с имеют формат «число, отрицательное, с округлением до сотых».
Другие 2 ячейки (г,д ) тоже имеют формулу вида (а+2б+с)/4 и такой же формат, как и ячейки а,б,с. И есть еще одна ячейка (е). Имеет формулу (г-д)*1000. Формат тот же (отрицательное число, с округлением до сотых) Теперь вопрос. Почему результат в ячейки е такой, как будто бы в предыдущих ячейках нет никакого формата? То есть, в ячейках г,д цифры 66,6025 и 66,7000 округлены до 66,61 и 66,7…, а вот в ячейке Е, где надо вычислить (66,61-66,7)*1000 и получить 90 мы получаем ответ -93,75(то есть считались не округленные числа)…Как сделать так, чтобы в ячейке Е появлялась то самое 90?:confused: Exel 2010 |
формат само число не меняет. Он только показывает по разному. Нужно в вычислениях округление прописывать.
|
Приписывание округления в вычислениях
в вычислениях округление прописывать..
А как это делается? |
Цитата:
ОКРУГЛ(), ОКРУГЛВВЕРХ(), ОКРУГЛВНИЗ() - если в русском Excel; ROUND(), ROUNDUP(), ROUNDDOWN() - в любом. |
Часовой пояс GMT +4, время: 22:24. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.