Ru-Board.club
← Вернуться в раздел «Программы»

» Excel FAQ (часть 4)

Автор: AuthorR
Дата сообщения: 22.12.2009 09:12

Цитата:
kimtan
По примеру вроде надо "1-"&D2 и "6-"&D2

Автор вопроса не указал, что номера телефонов через разделитель "тире".
Это лишь первый ответивший на его вопрос предположил и выложил часть скрина экрана..
Автор: helloodua
Дата сообщения: 22.12.2009 12:59
Есть код плана
ProdID = Workbooks(IshodniyPrice).Worksheets(sh).Cells(i, 78)
ProdModel = Workbooks(IshodniyPrice).Worksheets(sh).Cells(i, 2)
Prod_image = Workbooks(IshodniyPrice).Worksheets(sh).Cells(i, 79)
....
Workbooks(WebForm).Worksheets(1).Cells(CurrentFormPosition, 1) = ProdID
Workbooks(WebForm).Worksheets(1).Cells(CurrentFormPosition, 2) = ProdModel

Написанные на экселеском вба.
Копи-пейст обычный.
На странице в 2500 шт строк(20-30 ячеек в каждой строке)
получается ооооочень долго.
Как можно ускорить быстродействие? Такое ощущение, что он вручную копи-пейстит...
Автор: Gretrick
Дата сообщения: 22.12.2009 16:45
Спасибо.

Как из 16.09.1973. (формат ячейки дата, так что выбрать с первого по второй символ не получается) такой даты получить формат 16091937

Пробовал использовать day, month - но они вместо 09 пишут 9


Добавлено:
И последние задание у меня:

Создать таблицу имен и фамилий в дательном падеже.
Петерис    Ивановскис
Янис    Долс

Петерису    Ивановскису
Янису    Долсу


Но проблема в том, что не только же у надо тупо в конец добавлять. Надо мужской и женский род различать.
Автор: vlth
Дата сообщения: 22.12.2009 18:53
Gretrick
Автор: Gretrick
Дата сообщения: 22.12.2009 18:59
vlth
Мне так надо:

Преобразовать дату рождения человека в персональный код. Идентификационный код сгенерировать с помощью формулы =”1”&1000+ROUND(222*RAND();0)
Дата - 28.05.1972


Идентификационный код - 16577
Персональный код - 280572-16577

Автор: Mushroomer
Дата сообщения: 22.12.2009 19:29
helloodua
Цитата:
Есть код плана
Учимся внимательно читать шапку топика
Цитата:
Все вопросы по программированию (макросы, скрипты, пользовательские функции и т.п.) обсуждаются в теме Excel VBA
Автор: vlth
Дата сообщения: 22.12.2009 19:49
Gretrick
Персональный код =ТЕКСТ(ячейка_с_датой;"ДДММГГ")&"-"&11000+ОКРУГЛ(222*СЛЧИС();0)
Автор: mflash123
Дата сообщения: 27.12.2009 12:42
Вобщем задача..

2 таблицы, в первой наименование,а во второй сумма и тоже самое наименование,только список выпадающий. Надо чтобы из второй таблицы значение суммы переходили в первую таблицу,в зависимости от наименования, которое мы выберем из списка в первой табл. Это вроде делается через ВПР,но я всю голову себе слома..
Для дополнительных свидений прикрепил атач файла икселя,там что надо и ниже типа примера..очень надеюсь на оперативную помощь..
http://file.sibnet.ru/get/file/?id=752081
Автор: kimtan
Дата сообщения: 27.12.2009 15:33
mflash123
В ячейку E7 =СУММПРОИЗВ(($I$7:$I$11=D7)*$H$7:$H$11)
И растянуть вниз
Автор: JekG
Дата сообщения: 02.01.2010 09:41
Народ, вопрос...
Есть файл отчета. Прямо в нем написали VBA Project (вызывается из меню Сервис/Макрос/Редактор Visual Basic/F5) для обработки. Функционирует все нормально, но есть проблема. Данные отчета меняются каждую неделю, и для их отработки мне приходится вручную копировать текст из нового отчета в старый и там уже отрабатывать, что не есть удобно. Плюс результаты отработки он сохраняет в том же файле где и сам отчет. Тоесть контролирующим органам мне придется отдавать файл вместе с кодом макроса, что не есть желательно. Собственно вопрос. Как сделать так, чтобы Excel помнила этот код (скажем строка в меню или кнопка на панели инструментов) и отрабатывала текущий отчет без копирования напрямую?
PS Как назначать кнопку Макросу я в курсе. Тут так почему-то не получается.
Автор: Robert
Дата сообщения: 02.01.2010 10:13
JekG

Скопировать этот макрос в отдельный файл, из файла отчёта его убрать, слегка переделать макрос так, чтобы он обрабатывал не текущий файл с макросом, а внешний файл с отчётом.
Автор: JekG
Дата сообщения: 02.01.2010 10:36
Robert

Теоретически я это понимаю. Можете подсказать как это реализовать практически? Что именно изменить в макросе?
Автор: SERGE_BLIZNUK
Дата сообщения: 03.01.2010 09:37

Цитата:
Теоретически я это понимаю. Можете подсказать как это реализовать практически? Что именно изменить в макросе?

может Вам проще выложить макрос (или сделать Excel табличку с этим макросом, запаковать, выложить на любой файлообменник, а сюда кинуть ссылку на скачивание)?...

А если общими словами, везде, где у вас обращение к текущему листу (ThisWorkbook, ThisWorkSheet и т.д. заменить на ActiveWorkBook, ActiveWorkSheet)...
Автор: JekG
Дата сообщения: 03.01.2010 21:56
SERGE_BLIZNUK
В результате работы макроса нужно получить, сколько человек проработал в каждый из дней заданного промежутка, ну а потом по сумме дней за весь промежуток (обычно неделю).
Автор: SERGE_BLIZNUK
Дата сообщения: 05.01.2010 13:31
JekG
я правильно понимаю, Вам нужно, чтобы форма обработки результата находилась в отдельном файле и можно было обрабатывать любой нужный входной файл?

тогда смотрите. вот файлик FormMacros.rar (или тут зеркало)
внутри Ваша форма и код обработки.

пользоваться так:
Открываете файл с макросом, потом открываете любой файл с исходными данными (там должны быть листы с именами "Лист1" и "Результат"),
нажимаете ALT-F8 (или меню Сервис - Макрос) и выполняете макрос "ShowForm4Result"
всё.

p.s. в принципе, очень просто изменить исходный текст обработки, чтобы результаты писались не в книгу с исходными данными, а в любую другую книгу (хотя бы в ту же книгу, где макрос).
будут вопросы - welcome...
Автор: JekG
Дата сообщения: 06.01.2010 13:00
SERGE_BLIZNUK
Спасибо за помощь.
Есть одно но. Лист Результат судя по всему создавался вручную поскольку в исходном файле отчета его нету. Там есть только Лист1. Соответственно отладчик вылетает на строке

Цитата:
If .Cells(i, 10) = "Вход" Then ActiveWorkbook.Worksheets("Результат").Cells(j, 1) = x

с ошибкой.
Дописал строки:

Цитата:
Worksheets.Add After:=Worksheets("Лист1")
Sheets("Лист2").Select
Sheets("Лист2").Name = "Результат"

и в конце

Цитата:
ActiveSheet.Range("A:F").Columns.AutoFit

Так все работает на ура. Еще раз спасибо.
Автор: ARiNO
Дата сообщения: 07.01.2010 13:39
Доброго времени суток!

Сталкнулся с некой проблемкой:
файл *.XLS не сохраняеться как *.XML

попытка: DATA>XML>Export (или: File>Save as>choose save as type XML DATA)
выскакивает с ошибкой, отсутствия схемы (мап-а)...
точнее: Cannot save XML data because the workbook does not any XML mappings.

Так вот, суть в том, что с базы стягивается информация, которая нужна налоговой в формате *.XML

Installer-toXML1-1.zip откапал некую програмку, что перебрасывает экзелевский (XLS) файл в XML (но есстественно не так как нужно...)

Сам в скриптах (тем более в программировании) не разбираюсь... Посоветуйте.

Заранее спасибо!



РЕШЕНИЕ:
office.microsoft.com/en-us/excel/HA102635091033.aspx
СПАСИБО ShriEkeR !!!
Автор: ARiNO
Дата сообщения: 08.01.2010 16:28
Ещё раз доброго времени суток...

вот такой вопрос:
как имеющеюся схему (*.XSD) можно применить к excel для дальнейшего экпорта в XML формат?

Заранее спасибо!
Автор: ZUMR
Дата сообщения: 11.01.2010 10:30
Ребята,

Уж и не знаю, в каком теперь из топиков и спросить.
Вроде этот теперь общий по всем вопросам, но еще и старые топики есть.

Я "поднял" один старый топик, но боюсь, что теперь его закроют модераторы.
Поэтому просто дам ссылку на свой вопрос --> жми
Буду надеяться, что Неп и Видок поймут или подправят меня.

Где дождусь ответа, не знаю.
Автор: jet221
Дата сообщения: 11.01.2010 14:09
Вопрос к знатокам по диаграммам:
Есть 2 колонки значений, надо построить график зависимости 1ой колонки от второй и вывести этот график в виде столбчатой диаграммы (т.е. по иксу между столбиками будет переменное расстояние).
Как построить график зависимости в виде точек я знаю, но точки не катят, нужны столбики.
Автор: xekm
Дата сообщения: 11.01.2010 22:01
ситуация:

Проводится ревизия. Работают в две очереди. Результаты скидываются в Excel в виде:

столбец A - артикул товара
столбец B - наименование
столбец C - количество
столбец D - пропуск
столбец E - артикул товара
столбец F - наименование
столбец G - количество

столбцы A B C - "дело рук" первой очереди
столбцы E F G - соответственно вторая очередь

в столбец H считается разница между количеством
в столбец I считается разница между артикулами (артикул - число от одного до пяти знаков)

Задача:
1. если в одной строке ячейки H и I - скрыть строку
2. в случае ненулевого значения в ячейке H - выделить значение другим цветом
3. в случае ненулевого значения в ячейке I (одна комиссия что-то пропустила) -требуется добавить ячейки в столбцы A B C или E F G соответственно

т.е. превратить таблицу вида

A B C D E F G H I
Автор: jet221
Дата сообщения: 11.01.2010 23:00
xekm
скорее всего учить VBA и писать макрос
Автор: Zarathushtra
Дата сообщения: 12.01.2010 00:15
Добрый вечер:
Столкнулся с такой ситуацией:
Моделируется процесс (раньше при 2-3 переменных использовал Excel оч. удачно)
Существует n-переменных (от 1 до 45) x1, x2, x3 .... xn, xi =[0..1], причём сумма всех xi =1. следует найти такую кобинацию вектора х при котором F - функция максимальна. Сама функция очень сложна но если потребуется то вылажу, добавлю что аналитически решить задачу не возможно т.к. функция представляется 4-х этажной дробью от суммы 2-х этажных дробей... , ну а частные производные это вообще извращение которое не помещается на 1 листе A4
Пробовал решить в Excel-e но не могу представить многомерную таблицу в 2-х мерном пространстве. Спрашивал у друзей сказали что для этого ! строго нужна программа. Но я кроме Excel-я ничего не знаю. Боюсь что даже VBA не справится с задачей так как мне сказали что очень медленно работает точность нужна до 6 знака (хотя бы до 4)- а при 45-ти переменных это может быть и сутки. Что посоветуете? Стоит ли учить VBA или сразу перейти на что-то посолиднее типа MatLab ???
Автор: q1wed
Дата сообщения: 12.01.2010 06:17
xekm
ну можно попробовать обойтись и без VBA. хотя все конечно зависит от условий самой задачи.

примерно так:
1. получаем список товаров из столбцов B и F (либо используем готовый справочник товаров)
2. к списку товаров ВПРим данные из стобцов A,B,C и E,F,G
3. строки без данных скрываем фильтром (можно даже динамически попробовать)
4. оставшиеся строки с данными сравниваем; для выделения различий - используем условное форматирование

Добавлено:
Zarathushtra
рискну предположить, что тебе может помочь Поиск Решения.
тут почитай: http://www.planetaexcel.ru/tip.php?aid=186
Автор: HHunter
Дата сообщения: 12.01.2010 10:21
Доброго времени суток.
Подскажите пожалуйста как можно подругому решить такую задачу:
Определение диапазона значений, в который попадает вводимое число и выбора второго числа соответствующего нужному диапазону.
Автор: xekm
Дата сообщения: 12.01.2010 14:01
q1wed, спасибо за совет.
Часть задачи решил, но вопрос один остался.
Как сформировать справочник?
Готовый справочник использовать проблематично - в нём порядка 70 тысяч строк, а в моем файлике всего 100-150. Копировать вручную не выход, т.к. файлов таких может быть несколько сотен. А очень важно уменьшить время обработки до минимально возможного.
Автор: crotoff
Дата сообщения: 12.01.2010 14:29
xekm
ещё можно отфильтровать ненулевые значения по столбцам H I, или же, отсортировав по ним, сформировать 3 группы. Или 4:
1. Артикулы и кол-во по 2 комиссиям совпадают
2. Количество не совпадает, артикул совпадает
3. Артикул не совпадает, количество совпадает
4. Не совпадает ни количество, ни артикул.

Добавлено:
Может случиться такой вариант, что совпадает количество и артикул, но различается название товара, тогда название товара вытащить через артикул ВПРом из справочника, ограничение на количество строк можно обойти в 2007-м Excel'е или Oо Calc'е

Добавлено:
уменьшить объём справочника можно если отсортировать данные ревизии по артикулу, взять максимальное и минимальное значение, и скопировать в качестве базы из основного справочника этот диапазон артикулов (обычно номенклатурные справочники отсортированы по номенклатурным номерам или артикулам).
Автор: aFexLay
Дата сообщения: 13.01.2010 12:47
Я извеняюсь такой вопрос был уже но ссылка не активка.....вообщем у меня такая задачка:
Нужно найти :
Фамилию сотрудника, получившего максимальную заработную плату за каждый месяц
Месяц, когда сотрудник получил максимальную заработную плату

Желательно через "ЕСЛИ" не само решение нужно а скорее обьяснить/научить мну как это делать.Буду очень признателен за любую помощь.можно в ICQ 3759501
Автор: Mushroomer
Дата сообщения: 13.01.2010 13:28
aFexLay
А в какой форме приведены исходные данные? это единая таблица? или 12 листов (т.е. один лист - один месяц)? Как отсортированы данные внутри таблицы?
Автор: aFexLay
Дата сообщения: 13.01.2010 13:37
не это одна таблица в которой фамилии месяцы разные начисления

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970

Предыдущая тема: Какой поставить ведеоплеер под Vista


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.