|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
Здраствуйте, помогите с вопросом плиз: Есть форма, в ней 45 чекбоксов, если чекбокс выбирается, он находит ячейку в документе Excel которая содержит какое-то число. Как сделать, чтобы после того как нашлась эта ячека она вставлялась в новый открывшийся документ ворд. Проблема у меня возникла с вставкой содержимой найденой ячейки в ворд. Как описать такую процедуру. Я пробывал: Код: plaintext 1. 2. 3. 4.
а вставить в ворд: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Помогите плиз разобраться, может можно как-то подругому это описать?!.. Уже сроки поджимают а я в этом VBA очень плохо разбираюсь. Просто так получилось что пришлось заняться этим. Буду очень признателен если поможите разобраться! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2003, 11:21 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
The¤Lexx Не волнуйся, попробуем разобраться. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
движемся далее Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
вроде всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2003, 12:29 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
Спасибо большое что согласился помочь! Но всеравно не хочет вставлять это в ворд, ненравится ему эта строчка: Код: plaintext
:(((((((( ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2003, 17:42 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
> Спасибо большое что согласился помочь! Пока не за что :-( Можно я тебя немного "поэкзаменую"? 1. В каком приложение работает твой макрос? (Excel, Word, Access) 2. Приведи текст ошибки дословно. 3. Попробуй убрать зловредную строку и выполнить макрос. Документ на диске C создается? Если да перед этой строкой вставь строку Код: plaintext
Значение выводится в окне отладки ? Если опять да, попробуй следующую cтроку Код: plaintext
4. Ничего не получается? Тогда код полностью в студию. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2003, 18:20 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
- Макрос работает в Exсel. - Ошибка времени исполнения: Run-time error (424) Object required - Если убрать строку или убрать с конца .Value то документ создается, но пустой. - Вствлял строку: Код: plaintext
Выдает точно такуюже ошибку! - Значение выводится в окне отладке. Если изменяю на строку: Код: plaintext
Выдает опять точно такуюже ошибку. - Код полность (формы): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
- Код макроса: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2003, 21:01 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
Ладно. По моему мне ясна твоя проблема. Как я и предполагал объектная переменная cb6, в момент записи в документ Word'а у тебя неинициализирована. Попробую объяснить на пальцах 1. Запускаешь макрос FormaExele 2. Открывается форма 3. Ты кликаешь СheckBox6, при клике запускается обработчик событий, в котором находится определенная область/ячейка листа, содержащая искомое значение. И эта область присваивается переменной cb6 . 4. Далее ты нажимаешь кнопку ОК, происходит выгрузка формы. В этот момент происходит также очистка всех переменных объявленных в модуле формы, в том числе и cb6 ! Хотя я сомневаюсь, что эта переменная вообще была объявлена. (Советую почитать про область видимости и время жизни переменных). И в тот момент, когда происходит обращение в этой злополучной строке, эта переменная равна Empty. 5. Самым простым (но необязательно правильным) решением будет объявить глобальную переменную в том модуле, где находится макрос FormaExele Код: plaintext
Все на сегодня хватит, пора спать. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2003, 22:58 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
Хм.. тогда щас попробывал cделать так, в код формы вписал это, до выгрузки формы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Всеравно результат тотже.. причем Public cb6 As Excel.Range тоже нехочет понимать.. :((( ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2003, 23:33 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
ОК. Давай разбираться с временем жизни переменных. Приведу пример. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
В обоих модулях запускай макрос Test2 и проанализируй результаты. После этого подумай, куда тебе нужно вставить строку Код: plaintext
Пока не буду подсказывать, если сам не разберешься тогда помогу. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2003, 08:49 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
Я правда не очень хорошо разобрался с твоими примерами, но просмотрев их понял куда нужно вставить Код: plaintext
Все заработало! :) Спасибо огромное за помощь, ничего если я еще походу что-нибудь у тебя спрошу? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2003, 12:29 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
Я так понял, если Dim стоит в начале модуля, то эту переменную могут использоваться все модули в макросе данном, а если только в нутри какого-то модуля то только этот модуль, внутри которого стоит обозначение переменной!.. Вот у меня еще возник вопрос походу, как убрать ошибку возникающюю если выбирается другой чекбокс, потому как из всех чекбоксов не всегда должны будут выбиратсья все чекбоксы, только несколько!.. А он выдает ошибку что чекбокс не выбран :( ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2003, 12:36 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
Вроди тоже разобрался вставил обработчик ошибок: Код: plaintext 1. 2. 3.
.. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2003, 12:53 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
Блин.. все ок.. только вот еще проблема: когда он вставляет несколько абзацев в ворд то пони крива вставляются, получается каша, когда один абзац нормально а если несколько: Код: plaintext 1. 2. 3.
В экселе они по порядку стоят: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2003, 14:03 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
Все заработало! :) Рад за тебя! Спасибо огромное за помощь, ничего если я еще походу что-нибудь у тебя спрошу? Хорошо, только давай договоримся, что сначала ты попробуешь решить проблемы собственными силами (т.е. основательно подумать, почитать HELP или умные книги) и только в случае ступора задавать вопросы в форум. Хорошо? Блин.. все ок.. только вот еще проблема: когда он вставляет несколько абзацев в ворд то пони крива вставляются Тебе нужно, чтобы значения начинались с нового абзаца и шли по порядку? На твоем месте я бы сделал так.(пока не предлагаю использовать массивы и коллекции) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2003, 15:39 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
Такаяже проблема как с переменными, ругается по поводу строчки: Код: plaintext
Такуюже ошибку выдает что и в предыдущий раз. Хотя теперь вроди все переменные правильные, все проверил вроди все ок. Неопнимаю в чем теперь ошибка, может еще что-то нужно за переменную объявлять? А что значит cb1 Is Nothing? Немножко непонял я этот цикл. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2003, 16:06 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
> Такаяже проблема как с переменными, ругается по поводу строчки: If Not (cb1 Is Nothing) And ChekBox1.Value = True Then Я описался. Нужно If Not (cb1 Is Nothing) And Che c kBox1.Value = True Then cb1 Is Nothing - про это чуть-чуть попозже расскажу. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2003, 16:11 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
А какая разница? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2003, 16:14 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
А сорри... все пойду отдыхать.. невижу синтаксических ошибок.. савсем плохо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2003, 16:16 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
Спасибо огромнейшее!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2003, 16:20 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
Помоги пожалуйста еще разобраться. Нужно выделенную область ячеек (в Excel`е) вставить в ворд. Пробывал через переменную не получается пробывал через буфер, получилось только вствить как таблицу, а именно текст не получилось. Вроди содержимое ячейки: Range("A1:A20").Formula Вобщем я очень много вариантов перепробывал, подскажи плиз как это сделать можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2003, 17:48 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
Нужно выделенную область ячеек (в Excel`е) вставить в ворд Ну это совсем просто :) Код: plaintext 1.
Range("A1:A20").Formula - тебе нужны в Word'e формулы ( =СУММ(A2:D2) )? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2003, 22:13 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
Спасибо огромное за предыдущие ответы. Сейчас вот возникла проблема в Excel ХР все прекрасно работает, но при попытки запуска в Excel 2000 не все идет гладко проблема с последней частью во сновном не понимает вот эту строчку: Код: plaintext
Сейчас сижу с утра пытаюсь найти в Объектах Екселя похожие значения но не получается, это вобще совместимо с 2000 и подскажи если не сложно как можно исправить эту ошибку? Остальной код мне удалось немного изменить, и все работает нормально, только вот с этим никак не могу разобраться. :( Заранее еще раз огромное спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2003, 14:44 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
Сейчас сижу с утра пытаюсь найти в Объектах Екселя похожие значения но не получается The¤Lexx ты работаешь с объектом Word'a, а ищешь в объектах Excell'я? это вобще совместимо с 2000 и подскажи если не сложно как можно исправить эту ошибку? Эх... я думал обойдется малой кровью. Посмотрел Help, да действительно метод PasteAndFormat появился только в Office XP. Но ты на всякий случай посмотри в объектной модели Word'а 2000, а вдруг я ошибаюсь? Если нет, тогда придется делать все ручками. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2003, 17:46 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
Я ошибся когда писал, в объектах Ворда я искал конечно же. Существует только похожая PasteFormat но она не подошла или же может я просто неправильно её вствил, я всякие варианты перепробывал не работает. Извени что нервы порчю... Но поясни еще что значит "придется делать все ручками"? В 2000 неполучится этого сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2003, 08:56 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
Простецкий пример. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Думаю должен разобраться. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2003, 21:57 |
|
Помогите разобраться!..
|
|||
---|---|---|---|
#18+
Спасибо большое за пример. У меня такая проблема при выполнение кода вставляется в ворд только последняя строка выбранная в nRow = 20 . Немогу разобраться почему. Впринцепе не нужно проходить какие-то еще колонки кроме первой (А), вся информация содержится только в первой колонке и где-то в 20 строках. Поэтому может сразу описать чтобы текс брался только с первой колонки, если конечно это не сложнее сделать. Может кокраз в этом загвоздка? Мне ужасно не удобно доставлять тебе столько лишней головной боли из-за себя, но я был бы очень признателен если бы ты подсказал мне еще не много. Заранее огромное спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2003, 13:06 |
|
|
start [/forum/topic.php?fid=60&msg=32271930&tid=2170647]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 153ms |
0 / 0 |