|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.12.2011, 13:19 | #11 |
Подтвердите свой е-майл
Регистрация: 30.11.2011
Сообщений: 17
|
Спасибо, NERV!
Программа (для которой макрос) установлена только на рабочем компе (на работе) так что в понедельник (не раньше) вечером доложусь. |
12.12.2011, 10:19 | #12 |
Подтвердите свой е-майл
Регистрация: 30.11.2011
Сообщений: 17
|
NERV, ПРИВЕТ!
Итак, я после слов End Sub (под процедурой моей) поместила всё что ты сказал, и появилась табличка Екселя , прикладываю её PrintScrin см. вложение (она вроде как твоя, - в твоём вложении). Мне теперь непонятны пока 2 момента: 1) Чтобы воспользоваться выводом который ты прислал, мне ведь надо переобозначать в моём макросе Dim Pn1(1000) Qn1(1000) Pn2(1000) и т.д.? Правильно я сделаю так: Х(999, 999, 999 и т.д.) ? Правильно понимаю? 2) И, если у меня теперь не 15 одномерных, а 1 двумерный массив, то я вот не соображу что-то, как мне в макросе-то прописать заполнение его первой строчки? Правильно я понимаю, что если я раньше писала: shag=0 Pn1(shag)=Rastr.Calc(...) Qn1(shag)=Rastr.Calc(...) Pn2(shag)=Rastr.Calc(...) ... shag=shag+1 то теперь вместо этого я должна написать: shag=0 Х(shag)=Rastr.Calc(...), Rastr.Calc(...), Rastr.Calc(...) shag=shag+1 то есть, вот в чем вопрос : Х(shag)=Rastr.Calc(...), Rastr.Calc(...), Rastr.Calc(...) - или ещё все эти элементы строки надо взять в скобки/кавычки? Это грамотно будет? Последний раз редактировалось Софико; 12.12.2011 в 22:13. Причина: истина где-то рядом... |
13.12.2011, 13:03 | #13 |
Подтвердите свой е-майл
Регистрация: 30.11.2011
Сообщений: 17
|
NERV, будем считать я предыдущее сообщение не писала )))
В макросе я создала двумерный массив X(999,14), и он , занчит, в процессе работы макроса, заполняется... А под макросом я всё написала что ты сказал, я про: With CreateObject("Excel.Application") .Workbooks.Add(1).Sheets(1).Range(" A1").Resize(1000, 15) = X ' A1 - ячейка с кот. начинается вывод массива .Visible = True End With !!! НО страничка Excel открывается пустой... (но сам макрос сработал, сделал свою работу) МЫСЛИ: 1) Мне же неизвестен массив, который я в Excel переношу, -после отработки макроса я не вижу заполненного массива, я только знаю что он заполнялся, и всё. И вот этот (заполненный в процессе расчета, но не видимый для меня) массив я должна перенести. Может в этом проблема: я не имею перед переносом в Excel ВИДИМОГО ЗАПОЛНЕННОГО ЦЕЛОГО массива? (Я надеюсь понятно написала-то? ) 2) Может быть некорректо прописана строчка присвоения: .Workbooks.Add(1).Sheets(1).Range(" A1").Resize(1000, 15) = X (может как-то: .Workbooks.Add(1).Sheets(1).Range(" A1").Resize(1000, 15).value = X (...) ) 3) Может быть в самом макросе я некорректно объявила двумерный массив? (прикладываю новый вариант моего макроса, взгляни объявление массива и выведение... -на начало и конец ...) я уже всё, не знаю что тут подумать... Последний раз редактировалось Софико; 13.12.2011 в 15:02. |
13.12.2011, 15:01 | #14 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 450
|
Софико, тот скрипт, кот. я прикреплял, открывал Excel с заполненными ячейками?
Тишина – самый громкий звук
|
13.12.2011, 15:06 | #15 |
Подтвердите свой е-майл
Регистрация: 30.11.2011
Сообщений: 17
|
тот который прислал - там лист экселя открывается, с теми заполненными ячейками, как у тебя в приложенном листе, да.
ты там сам указывал, что писать в правой части "(1/1)" ... вот, я это и вижу. (во вчерашнем письме посланном в 9 утра приложила ЛИСТ1.doc - там тоже самое что в твоём приложении; то есть, кроме указанных ячеек: x(0, 0) = "[1/1]" ' первый элемент строки x(0, 14) = "[1/15]" ' последний элемент строки '------Вторая "строка"------ x(1, 0) = "[2/1]" ' первый элемент строки x(1, 14) = "[2/15]" ' последний элемент строки ' и т.д. '------Последняя "строка"------ x(999,0) = "[1000,1]" ' первый элемент строки x(999,14) = "[1000,15]" ' последний элемент строки остальные были пустые) Последний раз редактировалось Софико; 13.12.2011 в 15:33. |
13.12.2011, 15:28 | #16 |
Подтвердите свой е-майл
Регистрация: 30.11.2011
Сообщений: 17
|
Я почитала коротко о передаче данных из Визуал Бэйсик в Ексель, но ума у меня не прибавилось, может ты заметишь здесь что-то полезное?
http://support.microsoft.com/kb/247412/ru |
13.12.2011, 16:22 | #18 |
Подтвердите свой е-майл
Регистрация: 30.11.2011
Сообщений: 17
|
Сложность в том, что если указывать содержимое ячеек (как ты предлагал в примере) - то они печатаются в открываемом листе Excel,
а если я просто после слов End Sub вставляю: With CreateObject("Excel.Application") .Workbooks.Add(1).Sheets(1).Range(" A1").Resize(1000, 15) = X .Visible = True End With то лист пустой. То есть, если указать прямо что вставить - вставляет в Excel, а если не указал - из макроса значения массива X сам не вставляет... Последний раз редактировалось Софико; 13.12.2011 в 16:25. |
14.12.2011, 09:08 | #19 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 450
|
Софико, значит у Вас массив не заполняется. Смотрите в этом направлении. И эту строку пишите правильно
Код:
Тишина – самый громкий звук
|
14.12.2011, 09:12 | #20 |
Подтвердите свой е-майл
Регистрация: 30.11.2011
Сообщений: 17
|
Спасибо, большое спасибо тебе , NERV!
Пробел убрала! Но это не спасло. Перенос (который ты предложил) - работает чисто. Но и массив мой в процессе макроса - заполняется, я проверила. Думаю вот что: просто раз перенос вот этот: With CreateObject("Excel.Application") .Workbooks.Add(1).Sheets(1).Range(" A1").Resize(1000, 15) = X .Visible = True End With идёт после слов End Sub, то надо как-то МЕЖДУ НИМИ (между переносом и End Sub) упомянуть снова переносимый массив!!! Ты же писал непосредственно перед переносом: Dim x(999,14) x(0,0)= x(1,0)= Ну вот. Значит надо как-то тоже написать - что мы именно переносим. И что шаг у меня есть и он меняется shag=shag+1... Ибо иначе выходит переносим массив x, НО ОН ЗАКРЫТ СЛОВАМИ End Sub... Последний раз редактировалось Софико; 14.12.2011 в 13:09. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как написать и визуализировать программу в Excel | friga | Помощь студентам | 1 | 06.04.2011 11:10 |
Как написать макрос в Excel???? | Маська | Помощь студентам | 1 | 10.11.2010 16:36 |
Как написать из excel формулу в word | Святой Дьявол | Microsoft Office Excel | 1 | 13.09.2010 22:07 |
как написать формулу Excel | ROBERT033 | Microsoft Office Excel | 3 | 13.02.2009 23:21 |
Простой максор. Excel. Как написать. | prosims | Microsoft Office Excel | 7 | 07.06.2007 17:06 |