идиотские вопросы. туплю

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Danilka
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 12.08.2005 (Пт) 0:36
Откуда: Moscow, Kremlin, 2789 steps SSW

идиотские вопросы. туплю

Сообщение Danilka » 29.09.2005 (Чт) 11:51

Здрасте !
Во первых и в самых важных -какие справочники/ учебники по VB и VBA в частности вы посоветуете (кроме MSDN)
и КАК в эксельном макросе объявить массив, который можно передать в другой userform или модуль -у меня ничего не выходит ... :(
с уважением,
Danilka

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 29.09.2005 (Чт) 12:21

1. Справка офиса.
2. А как пытался?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 29.09.2005 (Чт) 13:40

Public NAkt() As String
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

Danilka
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 12.08.2005 (Пт) 0:36
Откуда: Moscow, Kremlin, 2789 steps SSW

Сообщение Danilka » 29.09.2005 (Чт) 15:22

lord0n писал(а):Public NAkt() As String

именно так я и пытался, но получаю такай error message :

Constants, fixed-length strings, arrays, user-defined types, and Declare statements not allowed as Public members of an object module

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 29.09.2005 (Чт) 15:24

Верно, объявляй его в модуле.
Lasciate ogni speranza, voi ch'entrate.

Danilka
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 12.08.2005 (Пт) 0:36
Откуда: Moscow, Kremlin, 2789 steps SSW

Сообщение Danilka » 29.09.2005 (Чт) 15:58

alibek писал(а):Верно, объявляй его в модуле.


а у меня кнопка на листе и такой текст


Private Sub CommandButton1_Click()

i = 5
Worksheets("sales").Activate
While Cells(i, 2) <> ""
UserForm1.ComboBox1.AddItem (Cells(i, 2))

i = i + 1
Wend

Load UserForm1
Load UserForm2
UserForm1.Show


End Sub



и все вычисления внутри userform'ов , а модули я не использую :(

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 29.09.2005 (Чт) 16:02

если внутри одной формы, то пойдет перед всеми sub`ами поставить DIM
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

Danilka
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 12.08.2005 (Пт) 0:36
Откуда: Moscow, Kremlin, 2789 steps SSW

Сообщение Danilka » 29.09.2005 (Чт) 16:14

lord0n писал(а):если внутри одной формы, то пойдет перед всеми sub`ами поставить DIM


в том-то и дело что мне надо из одной формы передать массив в другую

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 29.09.2005 (Чт) 16:20

Danilka писал(а):
lord0n писал(а):если внутри одной формы, то пойдет перед всеми sub`ами поставить DIM


в том-то и дело что мне надо из одной формы передать массив в другую


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

Danilka
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 12.08.2005 (Пт) 0:36
Откуда: Moscow, Kremlin, 2789 steps SSW

Сообщение Danilka » 29.09.2005 (Чт) 16:45

lord0n писал(а):
Danilka писал(а):
lord0n писал(а):если внутри одной формы, то пойдет перед всеми sub`ами поставить DIM


в том-то и дело что мне надо из одной формы передать массив в другую


тагда создавай модуль, я все глобальные переменные там обьявляю


а как ? понимаю, что вопрос тупой, но ответь плз :)

CORBA
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 179
Зарегистрирован: 22.11.2003 (Сб) 13:41
Откуда: Ukraine-Crimea-Feodosia

Сообщение CORBA » 29.09.2005 (Чт) 16:47

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

Код: Выделить всё

from2.text1.text=form1.text1.text 'присваеваем значение текстбокса с                                                      'первой формы значению текстбокса                                                     'со второй
У каждой сложной задачи есть множество простых для понимания, но неправильных решений.

Danilka
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 12.08.2005 (Пт) 0:36
Откуда: Moscow, Kremlin, 2789 steps SSW

Сообщение Danilka » 29.09.2005 (Чт) 16:55

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

Код: Выделить всё
from2.text1.text=form1.text1.text 'присваеваем значение текстбокса с                                                      'первой формы значению текстбокса                                                     'со второй


у меня создан массив вида fin(хх,3), который затем загружен в четырехколоночный listbox

UserForm2.MultiPage1.Page2.ListBox3.ColumnCount = 4
UserForm2.MultiPage1.Page2.ListBox3.List() = fin()

пользователь должен выбрать интересующие его строки и отметить их checkbox'ами (это я уже сделал)
а теперь я хочу ВСЕ выбранное записать в другой массив и работать с ним в другой userform'e ...

Info_m.be_free
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 27.02.2003 (Чт) 21:38
Откуда: Ирпень

Сообщение Info_m.be_free » 29.09.2005 (Чт) 17:19

ну так передавай параметрами ф функцию другого модуля и будет тебе счастье...

Ем вилкой...

Danilka
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 12.08.2005 (Пт) 0:36
Откуда: Moscow, Kremlin, 2789 steps SSW

Сообщение Danilka » 29.09.2005 (Чт) 21:45

Info_m.be_free писал(а):ну так передавай параметрами ф функцию другого модуля и будет тебе счастье...


а пример можешь привести ?
Come get some !

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 30.09.2005 (Пт) 7:27

Info_m.be_free писал(а):ну так передавай параметрами ф функцию другого модуля и будет тебе счастье...


не красивое и не быстрое решение, особенно если массив многомерный

модуль создается так: меню insert -> module
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

Danilka
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 12.08.2005 (Пт) 0:36
Откуда: Moscow, Kremlin, 2789 steps SSW

Сообщение Danilka » 30.09.2005 (Пт) 8:46

lord0n писал(а):
Info_m.be_free писал(а):ну так передавай параметрами ф функцию другого модуля и будет тебе счастье...


не красивое и не быстрое решение, особенно если массив многомерный

модуль создается так: меню insert -> module


а в модуле,-то че делать?

переписал туда все declarations
а результат тот же
Come get some !

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 30.09.2005 (Пт) 9:41

Danilka писал(а):
lord0n писал(а):
Info_m.be_free писал(а):ну так передавай параметрами ф функцию другого модуля и будет тебе счастье...


не красивое и не быстрое решение, особенно если массив многомерный

модуль создается так: меню insert -> module



а в модуле,-то че делать?

переписал туда все declarations
а результат тот же


public a(100,100) as что это у тя будет (string, integer и т.д.)
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

Info_m.be_free
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 27.02.2003 (Чт) 21:38
Откуда: Ирпень

Сообщение Info_m.be_free » 30.09.2005 (Пт) 11:32

Люди, я с цитатами запутался и вообще сомневаюсь в информативности данного топика ....
lord0n :shock: какая разница какой массив передавать мы передаем переменную или я чего-то не понял?

Ем вилкой...

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 30.09.2005 (Пт) 11:44

Info_m.be_free писал(а):Люди, я с цитатами запутался и вообще сомневаюсь в информативности данного топика ....
lord0n :shock: какая разница какой массив передавать мы передаем переменную или я чего-то не понял?


ты предлогаешь сделать вот так?:
Код: Выделить всё

a=b


зачем?
в данном случае требуется создать одну глобальную переменную и все
дальше работать имено с ней, а не плодить 10 не нужных переменных
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

Info_m.be_free
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 27.02.2003 (Чт) 21:38
Откуда: Ирпень

Сообщение Info_m.be_free » 30.09.2005 (Пт) 15:44

Я наверно не врубаюсь, так по полкам-
форма1 - UserForm2; форма2 - UserForm2
Код формы 2
Код: Выделить всё
Private Sub UserForm_Click()
UserForm2.groove ("zzzz")
End Sub

Код формы 1
Код: Выделить всё
Sub groove(ByRef a As String)
MsgBox a
End Sub

Кликаем на форму 2 получаем строку (массив значение UDT)из формы 1
Такэ чи ні?

Ем вилкой...

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 30.09.2005 (Пт) 16:49

Info_m.be_free писал(а):Я наверно не врубаюсь, так по полкам-
форма1 - UserForm2; форма2 - UserForm2
Код формы 2
Код: Выделить всё
Private Sub UserForm_Click()
UserForm2.groove ("zzzz")
End Sub

Код формы 1
Код: Выделить всё
Sub groove(ByRef a As String)
MsgBox a
End Sub

Кликаем на форму 2 получаем строку (массив значение UDT)из формы 1
Такэ чи ні?


наверно я туплю: а где обещаный массив?
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

Info_m.be_free
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 27.02.2003 (Чт) 21:38
Откуда: Ирпень

Сообщение Info_m.be_free » 02.10.2005 (Вс) 3:11

Нехай массив у нас - "а"
Запиховываем его вместо "zzzz"
а там гда "MessageBox a" например

for i = LBound(a) to Ubound(a)
MsgBox a(i)
next i

All Clear :?:

Ем вилкой...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17

    TopList