|
|
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
Хотя я сейчас проверил - мне не помогает, всё равно при Union формулы пропадают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2010, 18:00 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
Hugo121, свойство ScreenApdating тоже использую часто, а вот Calculation -нет. Не было нужды, а может быть, не придавал должного значения. Спасибо за совет. Я уже говорил, что стараюсь не использовать формулы - и из-за такой их малопредсказуемости вот в таких случаях тоже. P.S. Восстановил Вычисления=Автоматически, а они опять не пропадают! Компьютерный Бог им судья... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2010, 18:15 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
Hugo121Хотя я сейчас проверил - мне не помогает, всё равно при Union формулы пропадают. я тоже проверил, пропали ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2010, 18:18 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
Hugo121, есть совершенно дикий вариант - считывать формулы (c.Formula) в двумерный массив на каждом шаге цикла и вставлять их в уже другой диапазон на Листе5 в конце шага (можно и все скопом по завершении цикла). Считывать, конечно, только из тех строк, которые экспортируем. Заниматься этим нет ни времени, ни желания. Может, кто-нибудь возьмется? На больших таблицах будет ооочень долго. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2010, 18:32 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
zchvv, но ведь формулы массива так не перенесёшь? Да и будут ли они потом работать? Тогда уж лучше просто копировать всю область целиком, а затем удалить строки с "0". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2010, 21:36 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
Hugo121, согласен. Тогда код немного изменяется: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2010, 18:05 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
zchvv, тоже не плохо, вот только MsgBox "Не получилось...!" появляется, если нулей нет. Хотя и скопировал. Я не поленился, нули удалил :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2010, 18:13 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
zchvvHugo121, согласен. Тогда код немного изменяется: zchvv , вы супер!!! То что нужно!!! А почему в первом случае копировалось вместе со структурой (у меня строки были сгруппированы) А в этом случае группировка пропадает??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2010, 12:38 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
nikalex2, из Вашего вопроса никак не следовало, что применяется структура. Поэтому никто и не думал о ней. Я думаю, не стоит тратить время на это, ведь структуру создать совсем недолго и нетрудно руками. Или спросите у асов VBA (у Hugo121, например). Мне как-то приходилось прописывать стуктуру, но в своей задаче все было предельно ясно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2010, 14:06 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
В догонку: надеюсь, Вы исследовали код и поняли, что он всего лишь заготовка. Для достижения вашей цели его нужно творчески переработать. Например, на форму вынести номера 1-го (это необязательно буквально 1-й!) и последнего листа, с которых копируем. Также можно задавать номер листа, на котором собираем итоговую таблицу. И т.п.. Желаю успеха! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2010, 14:16 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
zchvvВ догонку: надеюсь, Вы исследовали код и поняли, что он всего лишь заготовка. Для достижения вашей цели его нужно творчески переработать. Например, на форму вынести номера 1-го (это необязательно буквально 1-й!) и последнего листа, с которых копируем. Также можно задавать номер листа, на котором собираем итоговую таблицу. И т.п.. Желаю успеха! Да да Спасибо! Исследовал! Сижу уже дорабатываю!!! Вот мне тока не понятно, сижу сравниваю оба кода, в первом случае со структурой копирует, а во втором без))) Непонятна... :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2010, 15:50 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
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 Попробуйте и сообщите. Буду ждать, уже самому интересно. Целая баталия... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2010, 16:17 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
zchvv сделал как вы посоветовали!!! Теперь копирует вместе со структурой!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 09:13 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
nikalex2, ОК. Всегда рад помочь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2010, 18:52 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
zchvvnikalex2, ОК. Всегда рад помочь. zchvv а вы не в курсе возможно ли сделать следующее: я присвоил ячейкам например A1 некое имя например SYSTEM1, ячейке A2 имя SYSTEM2, ячейке A3 имя SYSTEM3 и т.д. которые используются в формулах. создал UserForm на которую поместил TextBox так вот чтобы при запуске макроса Копирования (который Вы написали) выскакивала моя UserForm где в TextBox я бы вводил например SYSTEM2 и после этого во всех формулах ссылки менялись на SYSTEM2 ??? для понимания вопроса прилагаю пример ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 15:58 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
забыл прикрепить))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 16:14 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
nikalex2! Я не знаю, что Вы замыслили, но мне кажется, что Вы избрали слишком сложный путь. Скорее всего, все можно сделать проще. То, что Вы просили, я реализовал на скорую руку, дальше доработаете. Посмотрите код обработки нажатия кнопки. Там ищется позиция вхождения символа ",", хотя в русском варианте формулы фигурирует символ ";". У меня работает. Если у Вас будет выскакивать ошибка, замените в InStr() "," на ";". Если и так не будет работать, можно вынести этот код на обсуждение в новый топик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 19:56 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
Забыл прикрепить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2010, 19:58 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
zchvv! Здравствуйте! Ваш код в принципе то что мне и нужно. Спасибо! Попробовал применить в своей таблице, но возникла ошибка в вашем примере на Листе1 я добавил формулу и вот на ней то и выдает ошибку Ещё что заметил, так это то что меняются значения в формулах (которое я ввожу в TextBox) и на Листе1 и Листе10 А в моем случае необходимо чтобы на Листе1 не менялось а только копировалось с заменой на Лист10 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2010, 10:38 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Переписал код под Ваш запрос. Вместо UserForm предлагаю использовать InputBox - он как раз для случая, когда нужно в программу ввести некоторое значение с тем, чтобы дальше использовать в программе. Снова все на скорую руку, мало проверок. Доработаете. Пишите, отвечу (только по вечерам, работа...). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2010, 19:28 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! То что вы предлагаете подходит в моем случае, но есть одно но мне необходимо чтобы он менял значения только в скопированных ячейках т.е. я нажал один раз ввел на что мне необходимо поменять например SYSTEM4, заменилось и вставилось нажал второй раз ввел SYSTEM4, заменилось и вставилось а не во все листе Возможно так??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2010, 17:01 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, nikalex2. Я тоже думал об этом, но не было с Вашей стороны четкой постановки. Сейчас старый код закомментировал (для сравнения), новый проверил - работает так, как Вы говорите. Только мне непонятно: во всех скопированных строках фигурирует А3. А как надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2010, 21:19 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
Опять забып вложить файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2010, 21:22 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
Если ещё актуально, я поступил бы так. 1. Создал бы на доп.листе (можно скрытом) шаблон усиленного фильтра с фильтрацией по G<>0. 2. Цикл Берётся первый лист, фильтруется, копируются видимые значения, вставляются в ИТОГОВЫЙ лист; Считается кол-во заполненных строк - выделяется следующая... Берётся второй лист, фильтруется (по тому же фильтру) , копируется, вставляется. и так далее. Всё очень быстро, так как всё заполнение идёт "пакетом", а не перебирается мелким циклом по строкам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2010, 22:40 |
|
||
|
Экспорт данных в Excel
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! 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") Но что то не получается никак :-( Заранее Всем благодарен! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2010, 15:17 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=36552141&tid=2178257]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
198ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
77ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 570ms |

| 0 / 0 |
