Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2009, 07:19   #1
Insainer
Пользователь
 
Аватар для Insainer
 
Регистрация: 27.01.2008
Сообщений: 51
Сообщение Цитаты в массиве

У меня проблема - хочу вбить несколько цитат в программу и чтобы при изменении формы выбиралась одна из них random и выводилать в label. Как бы сделать экономичнее, чтобы не перемудрить с кодом. Нужен совет "мудрый", так сказать.
"Программисты - это люди, которые решают методами, которые вы не понимаете проблемы, о которых даже не подозревали"
Insainer вне форума Ответить с цитированием
Старый 18.08.2009, 09:22   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Что за программа?
Какое отношение она имеет к Microsoft Office Excel?

Если программа на VBA, то всё делается просто.
На листе в один столбец пишем цитаты, в любой ячейке ставим формулу, которая выбирает случайную цитату из списка.

При отображении формы запускаем пересчёт листа, и берем случайную цитату из ячейки с формулой.
EducatedFool вне форума Ответить с цитированием
Старый 24.08.2009, 14:25   #3
Insainer
Пользователь
 
Аватар для Insainer
 
Регистрация: 27.01.2008
Сообщений: 51
По умолчанию

Свою делаю для курсача. А цитаты должны быть непосредственно в коде VBA в массиве, наверное. Думаю сделать примерно так:
z=(a,b,c)
a="dfdsdfsd"
b="вавылда"
с="ывлаыво"
s=Random(z)
Private Sub UserForm_Activate()
Label7.Caption = s
End Sub
Грубо, конечно. Может есть способ хороший.
"Программисты - это люди, которые решают методами, которые вы не понимаете проблемы, о которых даже не подозревали"
Insainer вне форума Ответить с цитированием
Старый 24.08.2009, 15:53   #4
Insainer
Пользователь
 
Аватар для Insainer
 
Регистрация: 27.01.2008
Сообщений: 51
По умолчанию

Спасибо, сделал через массив:
Dim цитаты(2) As String...
"Программисты - это люди, которые решают методами, которые вы не понимаете проблемы, о которых даже не подозревали"
Insainer вне форума Ответить с цитированием
Старый 24.08.2009, 16:31   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Можно сделать и так:
Код:
Sub test()
    Цитаты = Array("Цитата 1", "Цитата 2", "Цитата 3", "Цитата 4", "Цитата 5", "Цитата 6", "Цитата 7")
    СлучайнаяЦитата = Цитаты(Fix(Rnd(1) * (UBound(Цитаты) + 1)))
    Debug.Print СлучайнаяЦитата
End Sub
В этом случае в строке Цитаты = Array(...) Вы можете перечислить через запятую сколько угодно цитат.
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в массиве ADSoft PHP 1 07.08.2009 11:17
Поиск в массиве Paul_AG Общие вопросы C/C++ 9 03.06.2009 01:29
2 максимума в массиве Arcueid1691 Общие вопросы C/C++ 4 01.06.2009 02:30
Цикл в массиве Шура Помощь студентам 2 27.11.2008 10:39
Снова о массиве Constellation Общие вопросы Delphi 2 09.02.2008 20:42