Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/23: Рейтинг темы: голосов - 23, средняя оценка - 4.78
1 / 1 / 0
Регистрация: 25.04.2010
Сообщений: 30

Работа с данными на форме

25.04.2010, 11:54. Показов 5001. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Люди, помогите.
Есть форма, в которую заносятся данные. Необходимо сделать так, чтобы при нажатии кнопки в конце формы эти данные вырезались и разносились по столбцам в таблицу. Таблица и форма находятся на разных листах в одной книге. Если не сложно, подскажите с кодом…
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.04.2010, 11:54
Ответы с готовыми решениями:

Работа с формой Userform1 (управление переходит из модуля к форме и возвращается вместе с данными в модуль)
Помогите решить нелепую проблему: в ходе выполнения макроса вызывается форма Userform1 методом show, но форма виснет на экране и не...

Поле с данными из запроса в форме
Здравствуйте, форумчане. Необходимо чтобы в поле главной формы отображалось значение из поля запроса COUNT -№ (поле рассчитывается с...

Заполнение на форме данными из другого документа
Здравствуйте! Перейду собственно к проблеме - имеется два документа (Допустим Док1 и Док2), в одном документе есть совпадающие реквизиты...

35
14 / 14 / 2
Регистрация: 23.03.2010
Сообщений: 635
28.04.2010, 19:18
Студворк — интернет-сервис помощи студентам
Кстати по поводу отключения клавиш 'массово' (замечание на всякий случай:
автор топика заключил функцию Chr() в кавычки и скобки, после чего
она таковой быть перестала.

Сравним строку Application.OnKey '^{Chr(i)}', '' и её правильный
вариант Application.OnKey '^' & Chr(i), ''

Удачи!

Владимир
0
1 / 1 / 0
Регистрация: 25.04.2010
Сообщений: 30
03.05.2010, 16:38  [ТС]
Владимир, расчитываю на помощь.
Можно ли на время выполнения кода менять свойство Application.UserName? Т.е переписывать в 'нужное', а затем в первоначальное?
Раз уж начал, задам еще один вопрос.
Как с помощью макроса определить, открыта ли книга кем-то другим в сети?
А так все супер, что хотел получилось, еще раз спасибо.
0
14 / 14 / 2
Регистрация: 23.03.2010
Сообщений: 635
03.05.2010, 17:27
Application.UserName - св-во, по-моему, только д/чтения.
С книгой, открытой д.совместного доступа я не работал
- надо этот вопрос поизучать...
0
 Аватар для SlavaRus
1124 / 237 / 37
Регистрация: 15.03.2010
Сообщений: 729
03.05.2010, 17:35
Печать книги можно запретить так, в событии BeforePrint присвой
Cancel true, но лучше написать класс, чтобы запрещать и разрешать печать присваивая значение переменной
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = True
End Sub
0
 Аватар для SlavaRus
1124 / 237 / 37
Регистрация: 15.03.2010
Сообщений: 729
12.05.2010, 18:32
Кнопку настройка можно убрать так:
Application.CommandBars.DisableCustomize = True
соответственно показать
Application.CommandBars.DisableCustomize = false
0
14 / 14 / 2
Регистрация: 23.03.2010
Сообщений: 635
12.05.2010, 19:27
Да, всё-таки внимательнее нужно 'матчасть' изучать...
0
0 / 0 / 0
Регистрация: 24.05.2009
Сообщений: 36
17.05.2010, 01:24
Привет. a мoжет и мне пoдскaжите? кaк привиaзaтъ фaил к кoнкретнoму кoмпу? тoестъ 4тoб зaпускaлсиa исклиу4ителънo нa oпределеннoм кoмпе, и не рaбoтaл нa другиx?
0
14 / 14 / 2
Регистрация: 23.03.2010
Сообщений: 635
17.05.2010, 12:27
<U_bot: Привет. a мoжет и мне пoдскaжите? кaк привиaзaтъ фaил к кoнкретнoму кoмпу? тoестъ 4тoб зaпускaлсиa исклиу4ителънo нa oпределеннoм кoмпе, и не рaбoтaл нa другиx?>

http://www.relib.com/forums/topic.asp?id=810986
0
14 / 14 / 2
Регистрация: 23.03.2010
Сообщений: 635
17.05.2010, 14:08
<Decadent: Как с помощью макроса определить, открыта ли книга кем-то другим в сети?>

Попробовал в свободное время получить имена пользователей, работающих
с общей книгой. Ничего кроме RemoveUser(...) не нашёл.
А надо ли? Если пользователь подключается к книге через процедуру
своей идентификации, организованной на основе модальной формы, то его
имя всегда можно куда-либо записать и, соответственно, при необходимости
получить.
Удалось ли решить этот вопрос?
0
 Аватар для SlavaRus
1124 / 237 / 37
Регистрация: 15.03.2010
Сообщений: 729
17.05.2010, 17:44
из Help
Users = ActiveWorkbook.UserStatus
With Workbooks.Add.Sheets(1)
For Row = 1 To UBound(Users, 1)
.Cells(Row, 1) = Users(Row, 1)
.Cells(Row, 2) = Users(Row, 2)
Select Case Users(Row, 3)
Case 1
.Cells(Row, 3).Value = 'Exclusive'
Case 2
.Cells(Row, 3).Value = 'Shared'
End Select
Next
End With
0
14 / 14 / 2
Регистрация: 23.03.2010
Сообщений: 635
18.05.2010, 12:32
Status и есть 'статус' - даже мысли не возникало поинтересоваться этим
свойством. Выходит - зря.

Спасибо за информацию - м.б. когда и пригодится. А то, что св-во м.б.
массивом - сюрприз - такого раньше не встречал.
0
0 / 0 / 0
Регистрация: 24.05.2009
Сообщений: 36
18.05.2010, 17:17
Spasibo
0
1 / 1 / 0
Регистрация: 25.04.2010
Сообщений: 30
20.05.2010, 16:39  [ТС]
Да, Владимир, задача с общим доступом решилась нормально, там она была проста: поскольку данные из одной книги (анкета) заносились в другую (база), в том случае если база открыта произошла бы ошибка. Я ее решил так:
Workbooks.Open Filename:= _
'F:commonclientБаза.xls'
If Workbooks('База.xls').ReadOnly Then
Workbooks('Анкета').Activate
s = MsgBox('База в данный момент открыта неизвестным пользователем, попробуйте занести данные позже.', vbExclamation + vbApplicationModal)
Уnd if
С именем пользователя не стал заморачиваться :-)
Задам очередной вопрос, коль начал.
В VBA есть ряд команд, где используется что-то вроде FormulaC1R1 = ' =БлаБлаС[1]R[5]
Например такие ссылки есть гиперссылках, именовании диапазонов, различных формулах, так вот как вместо R[1] использовать переменную, типа [i]. Как это обойти? Блин, было бы здорово.
0
14 / 14 / 2
Регистрация: 23.03.2010
Сообщений: 635
20.05.2010, 18:10
Привет!
Ты уже познакомился с UserStatus? Так что получить имя пользователя -
не проблема.

Замечание.
s = MsgBox('База в данный момент открыта неизвестным пользователем, попробуйте занести данные позже.', vbExclamation + vbApplicationModal)

По-моему здесь достаточно процедуры MsgBox(у тебя используется функция), поскольку действия юзера однозначны. Сравни:
MsgBox '...', vbExclamation - функциональной разницы нет.

По поводу последнего вопроса.
Я не придумал ничего лучшего, чем то, что ты видишь ниже. Но это работает!

Dim i As Long, g As Long
i = 2:g = 3
ActiveCell.FormulaR1C1 = '=R[' & i & ']C+R[' & g & ']C[' & i & ']'
0
 Аватар для SlavaRus
1124 / 237 / 37
Регистрация: 15.03.2010
Сообщений: 729
20.05.2010, 18:13
Что тебе мешает там собрать это БлаБла [i]в текстовую пременную и подставитьв формулу ?
0
1 / 1 / 0
Регистрация: 25.04.2010
Сообщений: 30
20.05.2010, 18:59  [ТС]
Владимир, подумай насчет пива, я тоже из Питера.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.05.2010, 18:59
Помогаю со студенческими работами здесь

Работа с файлами(Запись,чтение,работа с данными)
Здравствуйте, никак не могу осилить файлы... Для начала вот само задание: В справочной автовокзала хранится расписание движения автобусов....

Как заполнить поля в форме данными из таблицы MySql?
Есть форма, в ней несколько полей для ввода, куда можно вручную вводить данные. Также должна быть кнопка по которой вызывается таблица...

Работа с битами И Работа с символьными данными
1. Ввести 8 символов. В символе с наибольшим кодом заменить 5-й бит единицей, а в символе с наименьшим кодом 6-й бит - нулем. Вывести...

Нужно заполнить ComboBox, находящийся на другой форме, данными из MySQL
Нужно заполнить combobox из mysql, combobox находиться на второй форме .Пробывал заполнять с главной формы все работает private void...

Заполнение combobox данными из таблицы, которая находиться на другой форме
Здравствуйте. Сразу скажу, я новичок в программировании и нуждаюсь в помощи. У меня есть бд сделанная в Access, мне нужно заполнить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
Новые блоги и статьи
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru