|
1 / 1 / 0
Регистрация: 21.01.2020
Сообщений: 184
|
|||||||||||
Excel Нужно сократить код (Один код для разных label_click)22.07.2020, 10:01. Показов 2860. Ответов 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
|
|
|
3310 / 937 / 202
Регистрация: 14.01.2013
Сообщений: 4,792
|
||
| 23.07.2020, 07:57 | ||
|
0
|
||
| 23.07.2020, 07:57 | |
|
Нужно упростить/сократить код функции Как можно сократить код и расположить данные элементы в один целый массив? Код очень долго выполняется, нужно сократить работу по времени Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|