|
1 / 1 / 0
Регистрация: 21.01.2020
Сообщений: 184
|
|||||||||||
Excel Нужно сократить код (Один код для разных label_click)22.07.2020, 10:01. Показов 2774. Ответов 47
Метки нет (Все метки)
Друзья, помогите сократить код!
Идет перебор Label_click (1-22), где каждому соответствует ячейка (h2:h23) И если подскажете как обновить данные на Userform без использования кода :
Спасибо
0
|
|||||||||||
| 22.07.2020, 10:01 | |
|
Ответы с готовыми решениями:
47
нужно сократить код! для программы перевода из СС
Нужно сократить код |
|
1 / 1 / 0
Регистрация: 21.01.2020
Сообщений: 184
|
||||||
| 22.07.2020, 12:15 [ТС] | ||||||
|
Burk, Вот весь код формы. Гигантский и не оптимизированный
0
|
||||||
|
Заблокирован
|
||
| 22.07.2020, 12:24 | ||
|
А не оптимизированный? Так вам же не нужна оптимизация, советов слышать не хотите же?
0
|
||
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
||
| 22.07.2020, 12:37 | ||
|
faust21, ну начинаем всё сначала. Вы должны понимать, что поясняете не себе, а людям, несвязанным с важей задачей. И ваш полный код пока и не нужен, я всё-равно его изучать не буду. Лучше бы было прислать файл. До этого я понимал так, что ваши лэблы находятся на некой форме и есть связь между ней и ячейками листа.
0
|
||
|
1 / 1 / 0
Регистрация: 21.01.2020
Сообщений: 184
|
||
| 22.07.2020, 12:45 [ТС] | ||
|
К сожалению, прислать файл я не смогу, слишком много связанных макросов и ячеек по всей книге, чтобы скинуть ее в рабочем состоянии. Приложу вам Userform, если это как-то поможет.
0
|
||
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 22.07.2020, 13:09 | |
|
всё-таки форма, хотелось бы её видеть. С Class Module попозже напишу.
Добавлено через 17 минут при экспорте формы создаются два файла с расширениями frm и frx вы прислали только frm, поэтому вашу форму посмотреть не могу.
0
|
|
|
1 / 1 / 0
Регистрация: 21.01.2020
Сообщений: 184
|
|
| 22.07.2020, 13:11 [ТС] | |
|
Burk, О, точно)
0
|
|
|
1 / 1 / 0
Регистрация: 21.01.2020
Сообщений: 184
|
|
| 22.07.2020, 13:24 [ТС] | |
|
Burk, Попробовал сам открыть и не вышло, переделал
0
|
|
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 22.07.2020, 13:39 | |
|
Для примера, все ваши присвоения для лэблов можно сделать в цикле для уменьшения размера проги.
For i=1 to 22: Controls("Label" & i).Caption = Sheets("Лист" & i).Range("A1").Value: next For i = 23 to 44: Controls("Label" & i).Caption =Лист31.Range("f" & i-21).Text: next и тому подобное
1
|
|
|
1 / 1 / 0
Регистрация: 21.01.2020
Сообщений: 184
|
|
| 22.07.2020, 13:58 [ТС] | |
|
Burk, Пробую и не завелось(
0
|
|
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 22.07.2020, 14:36 | |
|
faust21, уважаемый, вы думаете, что я не в состоянии создать пустую форму, которую вы мне прислали? С этого начинают студентов учить. Мне такие глюки больше не присылайте, ладно? И так приблизительно ясны ваши проблемы. Беру тайм-аут.
Добавлено через 12 минут faust21, значит какие-то листы у вас имеют дргое название, не ЛистNN. Если они у вас идут подряд, то обращайтесь по номеру Shetts(I). Может там перед Controls надо поставить Userform1. И пришлите файл, это будет проще, чем по поводу каждого оператора переписываться. Когда выкатывается окно об ошибке нажимайте на Debug и когда вы будете наводить мышку на переменную будет светиться её значение и можно понять в чем дело. Шлите файл, иначе разговор будет длинный и мне это может надоесть. Или ищите делайте сами. Я вам накидал схему уменьшения кода. Можете уточнить детали самостоятельно.
0
|
|
|
2752 / 1726 / 779
Регистрация: 23.03.2015
Сообщений: 5,452
|
||
| 22.07.2020, 14:36 | ||
|
faust21,
passedbyz, правду говорит... Непонятно, зачем "рисовать" таблицы на форме, когда есть лист в экселе? Не по теме:
0
|
||
|
1 / 1 / 0
Регистрация: 21.01.2020
Сообщений: 184
|
|
| 22.07.2020, 16:15 [ТС] | |
|
Narimanych, Может я не до конца понимаю, что мне предлагают, но то что я понял мне не нравится. Хочу на отельной форме. Да, получается таблица в таблице, но мне так нравится.
Попробую еще раз разобраться. Спасибо Burk, Спасибо за помощь. Решить вопрос с той ошибкой мне удалось. Присвоения лейблов успешно произведено. Застрял на том, что не понимаю как должен выглядеть перебор label?_click. Подскажете?
0
|
|
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 22.07.2020, 19:15 | |
|
faust21, конечно помогу с кликом, я же обещал, не будет времени сегодня, пришлю завтра. У меня тоже есть подобный проект где-то на 60 полей и я тоже эти поля вывел на форму, тем более, что некоторые поля заполняются через свою форму запуском макроса через CommandButton. Удобнее мышкой вставать на нужное поле, когда у тебя всё перед глазами в форме, чем двигать лист влево-вправо, рискуя потерять нужную строку, если не все поля заполняются у человека (у меня строка это один человек) и с учетом того, что заполняет таблицу оператор. А с такой формой заполнения операторы справляются легко.
Добавлено через 2 часа 29 минут faust21, стоп! Только сейчас обратил внимание, что ваши клики ничего не делают кроме как копируют ячейку с одного листа на другой!! И зачем тогда эти лэблы? Я привык к тому, что что-либо меняешь в форме и это изменение должно занестись на лист. Можно просто через проверку изменения значения на одном листе копировать это значение на другой через Worksheet_Change. Либо вместо ваших лэблов создать на форме текстбоксы занести туда значения из листа, а потом, в случае изменения какого-то значения, изменить его на другом листе. Только так.
0
|
|
|
4139 / 2243 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
|||||||||||
| 22.07.2020, 19:25 | |||||||||||
|
Burk, Там вообще детективная история
там есть копирование, но нет вставки скопированных данных.
0
|
|||||||||||
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 22.07.2020, 19:33 | |
|
pashulka, конечно ку-ку и я на своем опыте проскочил мимо этой ерунды. То что там скопировано, может пригодиться в другой жизни. Зато очень хитрое присвоение одной ячейке другой получилось. Да, с этими ребятами ухо надо держать востро, каюсь.
0
|
|
|
2752 / 1726 / 779
Регистрация: 23.03.2015
Сообщений: 5,452
|
|||
| 22.07.2020, 19:33 | |||
|
pashulka,
P.S. Думаю , если будет приведено конкретное техническое задание , всех этих извращений можно было бы давно избежать....
0
|
|||
|
4139 / 2243 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
|
| 22.07.2020, 19:43 | |
|
Burk, Я там всё облазил... нигде не нашёл использование данных из буфера обмена. Может автор, после работы с формой их использует... в общем, зачем нужно копирование, пока тайна.
0
|
|
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 22.07.2020, 19:56 | |
|
pashulka, думаю, что это, как обычно, недоработка преподавателя, а копирование там нафиг не нужно.
0
|
|
|
1 / 1 / 0
Регистрация: 21.01.2020
Сообщений: 184
|
|
| 23.07.2020, 06:42 [ТС] | |
|
Друзья Burk, pashulka, Narimanych, , я очень рад, что мой пост стал таким обсуждаемым и собрал в себе таких опытных людей.
Нужно было сразу оговорить, что образования в области информатики/программирования у меня нет. Никто ничему меня не обучал (семестр курса информатики 10 лет назад не в счёт). Всем этим я занимаюсь потому что МНЕ это интересно. Занимаюсь я этим методом тыка/гугла/ и задавая вопрос на профильных сайтах. По возможности я разбираюсь в коде что к чему, адаптирую его под себя. Дважды один вопрос я не задаю, тк я теперь ЗНАЮ САМ как и что делать. Что касается cell.copy вы абсолютно правы, она там нафиг не нужна. Этот код был скопирован у меня из другого места, поменяно несколько ссылок и оставлено так как есть. Заметил я лишнее, когда создавал пост и дабы не позориться удалил его. В процессе пока я пытался С Вашей помощью как-то оптимизировать свой код, я там столько на колбасил, что пришлось выйти без сохранения, чтобы отправить форму Burk, Что касается самой формы. Да, то что там делается нужно только мне и только. По сути эта форма является упорядоченным отражением другого листа, за исключением того, что по клику можно отметить дату оплаты. Повторюсь, мое видение может быть сколько угодно корявым, не правильным и нелогичным, но в силу своих небольших знаний в области VBA я смог решить задачу именно так. Весь код работает, даже та форма, что я скинул уже доработана, убрано куча лишних лейблов, созданных по ошибке, добавлен новый код и преведено все в эстетический порядок. Мне нужна была помощь лишь в оптимизации... Все ещё надеюсь что вы мне подскажете, но параллельно гуглю и пытаюсь вникнуть в модуль классов. Спасибо за вообще внимание))
0
|
|
|
3309 / 936 / 202
Регистрация: 14.01.2013
Сообщений: 4,785
|
||
| 23.07.2020, 07:57 | ||
|
0
|
||
| 23.07.2020, 07:57 | |
|
Нужно упростить/сократить код функции Как можно сократить код и расположить данные элементы в один целый массив? Код очень долго выполняется, нужно сократить работу по времени Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|