HLFX.Ru Forum Страницы (2): [1] 2 »
Показать все 16 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- Нужна помощь с VBA. (https://hlfx.ru/forum/showthread.php?threadid=1050)


Отправлено moonsond 08-12-2007 в 20:39:

Нужна помощь с VBA.

Конкретно меня, как классного "компьютерного гения"(который едва в программировании сечёт) озадачили следующим.

Цитата:
Всем привет.
Мне тут задали комсомольское поручение... как (в 2003 и более ранних - в чём и проблема, у меня дома 2007 уже давно) огранизовать в екселе следующий функционал.
Есть таблица, строчки - имена учеников, колонки - предметы, в ячейках соотв. оценки.
Нужно чтобы при нажатии на *определённую кнопку* учитель - который не разбирается толком в екселе - имел возможность в спец. окошке лицезреть все оценки конкретного ученика, т.е. все значения каждой ячейки одной строки.
code:
ученик предмет1 - *,*,*,* предмет2 - *,* и.т.п.

Да, я знаю что в Аксесе или любой другой нормальной БД это элементарно делается, но нужно именно в экселе.
Я так понял что без VB не обойтись? и интересно, есть ли там без вижуала такая возможность? и где в 2007 редактор VB??
заранее огромное спасибо за помощь.


Добавлено 08-12-2007 в 22:39:

Форма допустим такая, наверху можно выбрать ученика - в текстовом поле появляются оценки в копипастабельном виде.
Что теперь делать, какой код куда писать - я без понятия. Я даже не знаю как элементами списка наверху сделать имена учеников. Я НИЧЕГО не знаю.
Спасайте даже норм туторы... будут мне полезны

__________________
"Что вы знаете, ничтожные ?! Что вы видели, чем вы живёте и дышите? что есть ваши ложные идолы, ваши продажные суждения о мире?
Умойтесь кровью своей и разорвите плоть грешную свою; конец ваших пресмыканий близок. Ибо наша религия - U, наша стихия - огонь, и наша богиня - Вандора!"


Отправлено XaeroX 08-12-2007 в 21:18:

Вот так?

__________________

xaerox on Vivino


Отправлено moonsond 08-12-2007 в 21:30:

ДА!!! ура. Ксер как всегда выручил, спс )))))) я в долгу опять )
Не знал просто как с кодом быть. Теперь буду в курсе )

Другое дело, что теперь наша классуха заюзает это чтобы всем нашим родакам на ящики отослать наши оценки. Со всеми парами и неудами.
Но все равно спасибо )

__________________
"Что вы знаете, ничтожные ?! Что вы видели, чем вы живёте и дышите? что есть ваши ложные идолы, ваши продажные суждения о мире?
Умойтесь кровью своей и разорвите плоть грешную свою; конец ваших пресмыканий близок. Ибо наша религия - U, наша стихия - огонь, и наша богиня - Вандора!"


Отправлено XaeroX 08-12-2007 в 22:53:

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

__________________

xaerox on Vivino


Отправлено moonsond 08-12-2007 в 23:03:

Идея, ток я даже не особенно уверен насчёт языка на котором будет моя фамилия в списке ))) конечно я могу ориентироваться по номеру в журнале, но потом - когда классуха будет смотреть на мои оценки в окошке и в таблице - то сможет легко пропалить разницу ) Но на будущее учту )

__________________
"Что вы знаете, ничтожные ?! Что вы видели, чем вы живёте и дышите? что есть ваши ложные идолы, ваши продажные суждения о мире?
Умойтесь кровью своей и разорвите плоть грешную свою; конец ваших пресмыканий близок. Ибо наша религия - U, наша стихия - огонь, и наша богиня - Вандора!"


Отправлено TRUP@C 15-12-2007 в 12:18:

XrX, подкину я тебе и свою "задачку" :)

Привет XaeroX

Moonsond мне тебя порекомендовал
Мне нужно реализовать сравнение двух списков на разных листах и на третем создать комбинированый список включающий все с одного и недостающие части из другого.
Во вложении мой файл и ты поймешь что там и зачем Список должен генериться на "BackCompatible_Formatted", сейчас там список скомпиленый не автоматически, а как пример что там должно быть.

Спасибо за помощь


Отправлено XaeroX 15-12-2007 в 13:42:

TRUP@C привет
Вот написал кое-чего.
Не совсем понял, где взять данные для 2 колонки (имя дллки).
И нужно ли автоматизировать построение листов 3 и 4?
Ну в принципе можешь сам по аналогии сделать, что нужно еще.

__________________

xaerox on Vivino


Отправлено TRUP@C 15-12-2007 в 16:59:

Хай
Спасибо за быстрый ответ, даже не заглядывал сюда больше времени
Второй столбец это имя dll-ки по принципу:
Introduced: New
Missing: Old
Common: New

Я уже у себя добавил Common желтым цветом, что бы видно было что это точно общие экспорты
З.Ы. У меня английская версия, и там врятли будет "Sort "Столбец D""

Спасибо!

P.S.1. Кста, макрос должен исполнятсья как только меняеюся значелие на одной из 2 листов с Инпутом данных
P.S.2. Листы 3 и 4 по формулам сами заполняются Более автоматизировать не нужно
P.S.3. Не, лучше пусть макрс просчитывает когда переключаемся на этот лист с BackCompatibility )
P.S.4. "Sort "Столбец D"" выдает ошибку, вылечивается банальным "Sort "Column D""

Добавлено 15-12-2007 в 19:59:

P.S.5. Сортировка должна быть Case Sensitive ) Обрати внимание в каком порядке идут функции "g_Clock......" и "_Assert..."

__________________
"All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can't get them together again, there must be a reason. By all means, do not use hammer." © IBM maintenance manual, 1975


Отправлено XaeroX 15-12-2007 в 18:09:

Цитата:
TRUP@C писал:
Второй столбец это имя dll-ки по принципу:

А, я не увидел лист "Settings". Ну тогда просто брать из него значения.
Цитата:
TRUP@C писал:
Листы 3 и 4 по формулам сами заполняются

Ужас Всегда боялся этих формул и еще в школе предпочитал писать на VBA. Как ни странно, для преподов это проканывало (хотя изучали мы именно формулы Excel)
Цитата:
TRUP@C писал:
Не, лучше пусть макрс просчитывает когда переключаемся на этот лист с BackCompatibility

Кстати, макрос выполняется весьма неспешно, можно сделать окошко с прогрессбаром, в принципе. А так...
code:
Private Sub Worksheet_Activate() BuildFormattedDiffList End Sub

Это в код Лист5 прописать.
Цитата:
TRUP@C писал:
"Sort "Столбец D"" выдает ошибку, вылечивается банальным "Sort "Column D""


Да меня тоже напрягает эти русскоязычные имена в русском экселе...
Цитата:
TRUP@C писал:
Сортировка должна быть Case Sensitive )

Почему-то эксель не хочет учитывать регистр
т.е. замена
code:
Union(page5.Columns(2), page5.Columns(3), page5.Columns(4)).Sort "Столбец D", , , , , , , , , True

ничего не дает...

__________________

xaerox on Vivino


Отправлено Альтер-Эго 23-12-2007 в 12:35:

Пожалуйста, помогите составить программу для определения фамилии самого высокого и самого низкого студента группы. Мне уже помогли, но увы, это не похоже на то что мы делли в универе, так что боюсь, что училка сразу поймет в чем дело.
lstSorted.AddItem (вот это я даже не знаю что значит, а той программе которую мне помогли сделать, много чего в таком духе. Я понимаю, что для вас это ясно, но я то даже объяснить не смогу, что это такое)


Отправлено XaeroX 23-12-2007 в 13:15:

Альтер-Эго а где файл с данными?

__________________

xaerox on Vivino


Отправлено Альтер-Эго 23-12-2007 в 13:18:

XaeroXТы имеешь ввиду с ростом и фамилиями? Там произольно можно, конкретных данных нет. Или ты про то, что мне помогли сделать?


Отправлено XaeroX 23-12-2007 в 13:32:

Ну если произвольно, то хотя бы вот так можно

__________________

xaerox on Vivino


Отправлено Альтер-Эго 23-12-2007 в 13:48:

XaeroX Спасибо огромнейшее! Тут понятнее, думаю разберусь! Только можно еще вопрос:
Вы не знаете как для этого сделать блок схему?
While Лист1.Cells(i, 2) <> ""
height = CSng(Лист1.Cells(i, 2)) (и что означает от это, смысл я уловила, но вот команда CSng совсем незнакома)


Отправлено XaeroX 23-12-2007 в 14:05:

Цитата:
Альтер-Эго писал:
Вы не знаете как для этого сделать блок схему?

В смысле - блок-схему?
Цитата:
Альтер-Эго писал:
но вот команда CSng совсем незнакома

Это просто преобразование из строки в число с плавающей точкой одинарной точности (Single)

__________________

xaerox on Vivino


Временная зона GMT. Текущее время 21:21. Страницы (2): [1] 2 »
Показать все 16 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024