powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Экспорт данных в Excel
63 сообщений из 63, показаны все 3 страниц
Экспорт данных в Excel
    #36539788
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!!!
Срочно нужна помощь.
Суть проблемы такова:
Есть книга Excel в которой несколько листов (предположим 5)
в каждом листе есть некая таблица состоящая из 9 столбцов (A, B, C, D, E, F, G, H, I) и 5000 строк.

Мне требуется собрать все эти таблицы (из 4 листов) в пятый лист, но так чтобы сначала вставилась из первого листа, затем в следующие строки вторая и т.д.
И чтобы вставлялись только те строки в которых в Столбце "G" любое значение не равное "0"

Заранее Всем спасибо!!!
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36540072
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikalex2, запрос пишите к листам. так будет проще всего и быстрее (если кол-во листов не миллион, конечно).
но, если работа одноразовая - то ручками. потом просто ставите фильтр на столбик G "выводить равное 0" и сносите все видимые строки.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36540175
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanBnikalex2, запрос пишите к листам. так будет проще всего и быстрее (если кол-во листов не миллион, конечно).
но, если работа одноразовая - то ручками. потом просто ставите фильтр на столбик G "выводить равное 0" и сносите все видимые строки.

работа не одноразовая, хочу создать что то типа шаблона
в данный момент так и делаю, т.е. фильтром, но хотелось бы усовершенствовать )))
создать кнопку, что то типа "Собрать базу" при нажатии которой запускался некий макрос и получалась бы сводная таблица
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36540269
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nikalex2,

MsQuery помучайте, может подойти, даже может быть идеально.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36540349
trofik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nikalex2,
как-то так...если через msquery
SELECT `Лист1$`.a, `Лист1$`.b
FROM `Лист1$` `Лист1$`
union all
SELECT `Лист2$`.a, `Лист2$`.b
FROM `Лист2$` `Лист2$`
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36540431
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121nikalex2,

MsQuery помучайте, может подойти, даже может быть идеально.

забыл сказать, я новичок и даже без понятия что такое MsQuery
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36540477
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nikalex2, 3 года на SQL, и всё ещё жизнь не заставила изучить?
C:\Program Files\Microsoft Office\Office\MSQRY32.EXE запустите, если есть...
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36540534
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121nikalex2, 3 года на SQL, и всё ещё жизнь не заставила изучить?
C:\Program Files\Microsoft Office\Office\MSQRY32.EXE запустите, если есть...

ок, спасибо, щас попробую разобраться???
ну а вообще с помощью VBA возможно это сделать???
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36540571
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nikalex2, можно, и легко, но долго, если много данных - надо строки перебирать по одной или может автофильтр можно подключить, не знаю пока.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36540581
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще-то да, можно сперва из источников автофильтром выкинуть все G=0, затем всё оставшееся скопом скопировать. Но всё-же попробуйте MsQuery - там оперативнее менять запросы можно. Только вот насчёт порядка (так чтобы сначала вставилась из первого листа, затем в следующие строки вторая) не уверен, так тонко не изучал.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36540592
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikalex2,

вот тебе мое решение.
Кое-что можно вынести на формочку для универсальности.
Не считаю это решение оптимальным, но работает прекрасно. Я использую часто, только без цикла.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36540597
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл!!!
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36540623
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zchvv, через union красиво... и вот без iLastRow тоже хорошо получилось!
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36540645
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo21,

спасибо за хорошую оценку
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36540939
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvvnikalex2,

вот тебе мое решение.
Кое-что можно вынести на формочку для универсальности.
Не считаю это решение оптимальным, но работает прекрасно. Я использую часто, только без цикла.

СПАСИБО!!! Это то что мне нужно!!!
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36540944
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121nikalex2, 3 года на SQL, и всё ещё жизнь не заставила изучить?
C:\Program Files\Microsoft Office\Office\MSQRY32.EXE запустите, если есть...

и Вам спасибо!!! Сижу читаю Help по MsQuery ))) пока ещё не въехал)))
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36540945
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возник другой вопрос!!!
А как теперь эту таблицу экспортировать в Word ???
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36540962
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nikalex2, получилось с MsQuery?
Насчёт Excel2Word - вот тут в конце есть информация, можно переделать.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36540973
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121nikalex2, получилось с MsQuery?
Насчёт Excel2Word - вот тут в конце есть информация, можно переделать.

с MsQuery не разобрался ещё, я так понял эта примочка для создания запросов, надо help читать))) спасибо за ссылку, щас гляну)))
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36542703
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем ещё раз привет!!!

С экспортом из Excel в Word не разобрался :(
Но возник другой вопрос
Как применить код предложенный zchvv ,но чтобы если в листах есть формулы, то при экспорте эти формулы оставались???

Заранее благодарю!
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36542771
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikalex2,

Если через MsQuery собирать, то формулы точно пропадут.
Чтобы не пропали надо тогда собирать путем копирования и вставки.
Правда при этом надо понимать, что некоторые формулы после такой операции могут переноситься некорректно, всё зависит от того, на какие элементы ссылаются эти формулы.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36542809
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Через Union формулы тоже пропадают, как оказывается...
1. Можно собирать, как выше упоминалось, сперва выкинув ненужные строки. Или их выкинуть потом, в собранном.
2. Можно сперва преобразовать формулы в текст, затем вернуть назад. Тогда формулы не изменятся при переносе.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36542998
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121Через Union формулы тоже пропадают, как оказывается...
1. Можно собирать, как выше упоминалось, сперва выкинув ненужные строки. Или их выкинуть потом, в собранном.
2. Можно сперва преобразовать формулы в текст, затем вернуть назад. Тогда формулы не изменятся при переносе.формулы массива умирают как ни крути.
вообще смысла не вижу переносить формулы.. простые (сложение, вычитание) можно прям в запросе. что-то более - делать заново
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36543014
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в параметрах Excel'я установил Вычисления=Вручную, и теперь формулы не пропадают.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36543026
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zchvv,

Тогда добавьте в код, в начале:

Код: plaintext
1.
2.
3.
4.
With Application
        .ScreenUpdating = False
        ac = .Calculation: .Calculation = xlCalculationManual
   End With
в конце:
Код: plaintext
1.
2.
3.
4.
    With Application
        .ScreenUpdating = True
        .Calculation = ac
    End With

Я всегда эти строки в код ставлю (если конечно не нужно иначе).
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36543034
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотя я сейчас проверил - мне не помогает, всё равно при Union формулы пропадают.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36543070
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121,

свойство ScreenApdating тоже использую часто, а вот Calculation -нет. Не было нужды, а может быть, не придавал должного значения. Спасибо за совет. Я уже говорил, что стараюсь не использовать формулы - и из-за такой их малопредсказуемости вот в таких случаях тоже.
P.S. Восстановил Вычисления=Автоматически, а они опять не пропадают! Компьютерный Бог им судья...
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36543080
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121Хотя я сейчас проверил - мне не помогает, всё равно при Union формулы пропадают.

я тоже проверил, пропали (
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36543111
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121,

есть совершенно дикий вариант - считывать формулы (c.Formula) в двумерный массив на каждом шаге цикла и вставлять их в уже другой диапазон на Листе5 в конце шага (можно и все скопом по завершении цикла). Считывать, конечно, только из тех строк, которые экспортируем. Заниматься этим нет ни времени, ни желания. Может, кто-нибудь возьмется? На больших таблицах будет ооочень долго.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36543338
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zchvv,
но ведь формулы массива так не перенесёшь? Да и будут ли они потом работать? Тогда уж лучше просто копировать всю область целиком, а затем удалить строки с "0".
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36545428
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121,

согласен. Тогда код немного изменяется:
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36545452
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zchvv,
тоже не плохо, вот только
MsgBox "Не получилось...!"
появляется, если нулей нет. Хотя и скопировал. Я не поленился, нули удалил :)
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36546091
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvvHugo121,

согласен. Тогда код немного изменяется:

zchvv , вы супер!!! То что нужно!!!
А почему в первом случае копировалось вместе со структурой (у меня строки были сгруппированы)
А в этом случае группировка пропадает???
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36546149
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikalex2,

из Вашего вопроса никак не следовало, что применяется структура. Поэтому никто и не думал о ней. Я думаю, не стоит тратить время на это, ведь структуру создать совсем недолго и нетрудно руками. Или спросите у асов VBA (у Hugo121, например). Мне как-то приходилось прописывать стуктуру, но в своей задаче все было предельно ясно.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36546155
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В догонку: надеюсь, Вы исследовали код и поняли, что он всего лишь заготовка. Для достижения вашей цели его нужно творчески переработать. Например, на форму вынести номера 1-го (это необязательно буквально 1-й!) и последнего листа, с которых копируем. Также можно задавать номер листа, на котором собираем итоговую таблицу. И т.п.. Желаю успеха!
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36546227
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvvВ догонку: надеюсь, Вы исследовали код и поняли, что он всего лишь заготовка. Для достижения вашей цели его нужно творчески переработать. Например, на форму вынести номера 1-го (это необязательно буквально 1-й!) и последнего листа, с которых копируем. Также можно задавать номер листа, на котором собираем итоговую таблицу. И т.п.. Желаю успеха!

Да да Спасибо! Исследовал! Сижу уже дорабатываю!!!
Вот мне тока не понятно, сижу сравниваю оба кода, в первом случае со структурой копирует, а во втором без))) Непонятна... :-)
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36546248
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nikalex2,
в первом случае копировались строки листа. Поэтому поправьте так:
(m = r.Columns.Count - удалить можно)

For i = 1 To 4

Set r5 = Worksheets("List5").Range("A1").CurrentRegion
n5 = r5.Rows.Count

Set sh = Worksheets("List" & CStr(i))
Set r = sh.Range("A1").CurrentRegion
n = r.Rows.Count
m = r.Columns.Count
Set r = r.Offset(1, 0).Resize(n - 1, sh.Columns.Count)

r.Copy r5.Cells(n5, 1).Offset(1, 0)

Next i

Попробуйте и сообщите. Буду ждать, уже самому интересно. Целая баталия...
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36547449
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv сделал как вы посоветовали!!! Теперь копирует вместе со структурой!!!
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36548977
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikalex2,

ОК. Всегда рад помочь.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36550874
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvvnikalex2,

ОК. Всегда рад помочь.

zchvv а вы не в курсе возможно ли сделать следующее:

я присвоил ячейкам например A1 некое имя например SYSTEM1, ячейке A2 имя SYSTEM2, ячейке A3 имя SYSTEM3 и т.д. которые используются в формулах.
создал UserForm на которую поместил TextBox
так вот чтобы при запуске макроса Копирования (который Вы написали) выскакивала моя UserForm где в TextBox я бы вводил например SYSTEM2
и после этого во всех формулах ссылки менялись на SYSTEM2 ???

для понимания вопроса прилагаю пример
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36550917
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл прикрепить)))
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36551493
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikalex2!

Я не знаю, что Вы замыслили, но мне кажется, что Вы избрали слишком сложный путь. Скорее всего, все можно сделать проще. То, что Вы просили, я реализовал на скорую руку, дальше доработаете. Посмотрите код обработки нажатия кнопки. Там ищется позиция вхождения символа ",", хотя в русском варианте формулы фигурирует символ ";". У меня работает. Если у Вас будет выскакивать ошибка, замените в InStr() "," на ";". Если и так не будет работать, можно вынести этот код на обсуждение в новый топик.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36551501
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл прикрепить :)
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36552141
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvv!

Здравствуйте! Ваш код в принципе то что мне и нужно. Спасибо!
Попробовал применить в своей таблице, но возникла ошибка
в вашем примере на Листе1 я добавил формулу и вот на ней то и выдает ошибку
Ещё что заметил, так это то что меняются значения в формулах (которое я ввожу в TextBox) и на Листе1 и Листе10 А в моем случае необходимо чтобы на Листе1 не менялось а только копировалось с заменой на Лист10
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36553896
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Переписал код под Ваш запрос. Вместо UserForm предлагаю использовать InputBox - он как раз для случая, когда нужно в программу ввести некоторое значение с тем, чтобы дальше использовать в программе.
Снова все на скорую руку, мало проверок. Доработаете. Пишите, отвечу (только по вечерам, работа...).
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36561664
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

То что вы предлагаете подходит в моем случае, но есть одно но
мне необходимо чтобы он менял значения только в скопированных ячейках
т.е. я нажал один раз ввел на что мне необходимо поменять например SYSTEM4, заменилось и вставилось
нажал второй раз ввел SYSTEM4, заменилось и вставилось
а не во все листе
Возможно так???
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36561999
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, nikalex2.
Я тоже думал об этом, но не было с Вашей стороны четкой постановки.
Сейчас старый код закомментировал (для сравнения), новый проверил - работает так, как Вы говорите. Только мне непонятно: во всех скопированных строках фигурирует А3. А как надо?
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36562002
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять забып вложить файл.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36562098
Valll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ещё актуально, я поступил бы так.

1. Создал бы на доп.листе (можно скрытом) шаблон усиленного фильтра с фильтрацией по G<>0.
2. Цикл
Берётся первый лист, фильтруется, копируются видимые значения, вставляются в ИТОГОВЫЙ лист;
Считается кол-во заполненных строк - выделяется следующая...
Берётся второй лист, фильтруется (по тому же фильтру) , копируется, вставляется.

и так далее.

Всё очень быстро, так как всё заполнение идёт "пакетом", а не перебирается мелким циклом по строкам.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36563591
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

zchvv попробовал применить Ваш код, но...
под мою задачу не прошло :-(

у меня формулы типа =СУММЕСЛИМН(BASE!$O$2:$O$25000;BASE!$A$2:$A$25000;SYSTEM1;BASE!$D$2:$D$25000;"Duct";BASE!$E$2:$E$25000;"Гофр";BASE!$F$2:$F$25000;"100")

после того как запускаю ваш код формула приобретает вид =СУММЕСЛИМН(BASE!$O$2:$O$25000;SYSTEM2;"100")

т.е. часть формулы просто удаляется, соответственно ничего не работает :-(

Насчет А3, там тоже формула =SYSTEM... т.е. в этой ячейке тоже должно меняться на то значение которое я ввожу в InputBox

P.S. я в параметрах вычисления в настройках Excel устанавливаю "Вручную" (много формул, постоянное автоматическое вычисление занимает много времени), а после запуска кода он переключается на "Автоматическое" Непонятно.

Может мне скинуть Вам файл с моей задачкой??? Файл больше чем 100 кб, может Вам на email скинуть???

Valll я что то типа того что Вы предлагаете и пытаюсь осуществить. Т.е. у меня на одном листе создано что то типа ШАБЛОНА(который в процессе работы может меняться). Потом (когда ШАБЛОН будет окончательно доработан) необходимо его n-ое количество раз размножить в другой лист с заменой n-раз одного единственного условия в формуле (в моем случае это "SYSTEM")
Но что то не получается никак :-(

Заранее Всем благодарен!
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36563645
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121 Спасибо за совет
в строке
Application.Calculation = xlCalculationAutomatic заменил на Application.Calculation = xlCalculationManual простите новичка))) сразу незаметил
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36563747
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nikalex2,

вообщето там логика другая - в начале
ac = .Calculation - запоминаем, как было
.Calculation = xlCalculationManual - переключаем на ручной пересчёт
в конце
.Calculation = ac - возвращаем назад, как было.
Вот как раз, чтобы не было
авторP.S. я в параметрах вычисления в настройках Excel устанавливаю "Вручную" (много формул, постоянное автоматическое вычисление занимает много времени), а после запуска кода он переключается на "Автоматическое" Непонятно.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36564013
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, nikalex2.

Можно сжать файл, и будет он меньше 100. Я хотел бы посмотреть на Ваш проект. Помогать результативно, не видя его в целом, как показывает наша практика - невозможно.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36564044
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, zchvv

архивировал, но объем 1,6 мб
там много формул
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36564132
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот я залил http://files.mail.ru/7L72N1
я там в кратце изложил суть задачи
Если будут замечания, предложения и т.п. по моему проекту в плане улучшения, усовершенствования буду ОЧЕНЬ признателен!!! :-)
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36565585
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!!!

Второй день борюсь, но не могу понять почему формула "обрезается" :-(
попутно возникла другая идея
может не нужно никакого InputBoxa ??? и я думаю что это будет правильнее для моей задачи
а создать что то типа цикла который будет выполняться n-ое (n = будет задаваться в начале) количество раз.
т.е. копируются данные из Шаблона вставляются в лист "PROVISIONAL SPECIFICATION"" заменяется в формулах все SYSTEM1 на SYSTEM2 (Думаю лучше в Шаблоне заменить SYSTEM1 на просто SYSTEM)
далее опять копируются данные из Шаблона вставляются в лист "PROVISIONAL SPECIFICATION" заменяется в формулах все SYSTEM1 на SYSTEM3 и т.д. до того самого "n" которое будет заданно в начале, например 25.
в итоге в листе "PROVISIONAL SPECIFICATION" должно получиться 25 скопированных, с заменой в формулах, шаблона.
теперь вот вопрос: Как это всё осуществить???

Заранее большое Всем спасибо!!!
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36566785
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, nikalex2. Не ломайте голову по поводу усекновения формул. Все просто: Вы дали мне в качестве примера короткую формулу, а я подумал, что они такими и будут.

Код: plaintext
1.
2.
3.
4.
5.
Select Case InStr(UCase(c1.Formula), UCase(Mid(nm,  1 , len_nm)))
                       Case Is >  0  
                       n1 = InStr(c1.Formula, ",")
                       n2 = InStrRev(c1.Formula, ",")
                      c1.Formula = Mid(c1.Formula,  1 , n1) & nm & Mid(c1.Formula, n2)
              End Select

Здесь ищется позиция первой зпт слева и первой зпт справа. Между ними, кака я полагал, и будет находиться пресловутое SYSTEMN. Оказалось, что формулы в несколько раз длиннее и в них по многу раз может встретиться SYSTEMN. Вот вся середка и пропадает, остается левая часть до первой зпт и правая после последней зпт.
Что касается InputBox' а, то это совершенно мелкий вопрос. Число итераций, кстати, тоже можно ввести через него.
У меня EXCEL 2003, поэтому приходится использовать конвертер FFC.exe. Пока просто разглядываю материал. Вижу, что Вы очень любите формулы. Для меня совсем неочевидно, что задуманное Вами следует реализовывать именно с использованием пугающих своими размерами формул. Пока все, что могу сказать.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36566862
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если N в строке "SYSTEMN" будет равен номеру итерации в цикле for i=1 to n, то подмена в формуле
делается легко: Формула=REPLACE(Формула,"SYSTEM","SYSTEM" & CSTR(i)) , т.е. просто SYSTEM (причем в с е в этой формуле) превращается последовательно в SYSTEM1 (i=1), SYSTEM2 (i=2),..,SYSTEM25 (i=25). Вписывается ли это в логику Вашего проекта?
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36568160
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Третий день борюсь... не могу понять как сделать чтобы формула не обрезалась
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36568263
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zchvvЕсли N в строке "SYSTEMN" будет равен номеру итерации в цикле for i=1 to n, то подмена в формуле
делается легко: Формула=REPLACE(Формула,"SYSTEM","SYSTEM" & CSTR(i)) , т.е. просто SYSTEM (причем в с е в этой формуле) превращается последовательно в SYSTEM1 (i=1), SYSTEM2 (i=2),..,SYSTEM25 (i=25). Вписывается ли это в логику Вашего проекта?

Здравствуйте zchvv !!!
я так понимаю что будут меняться последовательно от формулы к формуле, т.е. мое понимание таково, что берется первая формула в которой к примеру встречается 4 раза SYSTEMN и они последовательно будут меняться от SYSTEM1 до SYSTEM4 ??? потом следующая от SYSTEM5 до и т.д.???

в моем проекте необходимо так чтобы скопировались данные из ШАБЛОНА (TEMPLATE) поменялись ВСЕ SYSTEMN на SYSTEM1 вставились в ЛИСТ "PROVISIONAL SPECIFICATION" Скопировались второй раз из ШАБЛОНА (TEMPLATE) поменялись ВСЕ SYSTEMN на SYSTEM2 вставились в ЛИСТ "PROVISIONAL SPECIFICATION" и т.д. до того самого N (к примеру 25)
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36569492
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, nikalex2. Посмотрите вариант, о котором говорил вчера. Я ввел пустышку SYSTEM на листе List1. Во всех Ваших формулах ссылаемся на нее, а в цикле приставляем к SYSTEM номер итерации. Извините, если я путаюсь в простых, с Вашей точки зрения, вещах. Будем приближаться к консенсусу постепенно, мелкими шажками:-)
Понаблюдайте за поведением программы. Водите в InputBox 1, 2, 3, 4. Добавьте на листе List1. Короче, анализируйте на здоровье.
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36569494
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно же, забыл приложить самое главное!
...
Рейтинг: 0 / 0
Экспорт данных в Excel
    #36571854
nikalex2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуй!!!

zchvv Спасибо Вам большое!!! Все работает!!!
Я проанализировал Ваш код, в принципе вроде разобрался что и как)))
Даже расписал где и что происходит(ну т.е. в коде примечаний добавил)
Я же писал, что по специфике своей работы я не программист и в программировании новичок.
Беру код, запускаю F8 и смотрю что происходит. И помечаю для себя.
А Вы я так понял с программированием тесно связаны ну и соответственно на ТЫ с ним)))
Спасибо Вам большое за помощь ещё раз!!! Очень помогли!!!
P.S. В плане усовершенствования и упрощения моего проекта нет никаких предложений???
...
Рейтинг: 0 / 0
63 сообщений из 63, показаны все 3 страниц
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Экспорт данных в Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]