|
27 / 2 / 0
Регистрация: 20.02.2013
Сообщений: 126
|
|
Запись в ячейку по строке и заголовку20.02.2013, 11:19. Показов 7726. Ответов 73
Метки нет (Все метки)
Прошу помочь с макросом.
Программа с поддержкой VBA должна открыть фаил Excel и записать своё значение в конкретную ячейку, зная название заголовка (Уголок-1) и название строки (Длина). Пересечение двух названий даёт ячейку куда нужно записать значение. Потом программа генерирует новое название заголовка (Стенка-2) и новое название строки (Ширина) и записывает значение. Просьба помочь в решении
0
|
|
| 20.02.2013, 11:19 | |
|
Ответы с готовыми решениями:
73
Запись в ячейку по строке и заголовку
|
|
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
||
| 20.02.2013, 11:46 | ||
|
Или это программа на VBA - тогда в каком приложении (Excel, Word, Autocad)?
0
|
||
|
693 / 99 / 10
Регистрация: 25.06.2011
Сообщений: 718
|
|
| 20.02.2013, 12:44 | |
|
я думаю что здесь нужен пример
0
|
|
|
27 / 2 / 0
Регистрация: 20.02.2013
Сообщений: 126
|
|
| 20.02.2013, 13:16 [ТС] | |
|
Программа с поддержкой VBA - Это программа в которую встроен Visual Basic. Программа AutoCAD.
Я бы хотел чтобы AutoCAD вписывал значения.
0
|
|
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 20.02.2013, 15:12 | |
|
В общем это можно сделать программой, которая в общем ничего кроме VB и не имеет
![]() Наприммер скриптом vbs (используя установленный Excel). Но в деталях не понятна сама задача. 1. На каком листе искать? 2. Где искать? 3. Что делать, если не найдёт? 4. Генерировать всегда правее? 5. А если там значение? 6. А если уже некуда? 7. А если уже есть? 8. Зачем это всё? 9. Может проще просто создать такой файл с нуля? Это не противоречит вводной...
0
|
|
|
27 / 2 / 0
Регистрация: 20.02.2013
Сообщений: 126
|
|
| 20.02.2013, 17:14 [ТС] | |
|
Можно и как, из самого Excel средствами VBA сделать такое:
1. Название листа - Лист 1 2. Задать диапазон поиска (см. рисунок выше) - A1 10.3. Искать в диапазоне: поиск такой: найти заголовок с названием "Уголок-1", запомнить номер столбца найти строку с названием "Длина", запомнить номер строки пересечение столбца со строкой даст ячейку в которую нужно ввести данные, например 15. 4. Если есть ошибка - выход. 5. Если там уже есть значение - перезаписать. Давайте без тролинга. ![]() Парни очень нужна помощь. Есть ли спецы??? Нужна помощь!!!
0
|
|
|
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
||||||||||||
| 20.02.2013, 17:50 | ||||||||||||
|
Что-то типа такого
0
|
||||||||||||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
||||||
| 20.02.2013, 18:07 | ||||||
|
И где тут троллинг? Вопросы по делу - если это не прояснить, то КПД программы возможно будет никакой...
Ещё забыл спросить - файл то где? Открыт? Или нужно слепо открыть? Или дать пользователю выбрать с диска, чтоб открыть? Что с ним делать после всего? Вот когда все мелочи проясните - тогда возможно получите код, который сразу и подойдёт ![]() Ну а узнать номер строки/столбца легко:
0
|
||||||
|
|
||||||
| 20.02.2013, 18:17 | ||||||
0
|
||||||
|
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
||||||
| 20.02.2013, 19:35 | ||||||
|
Можно использовать формулу листа, в которую подставлять искомые строки:
0
|
||||||
|
27 / 2 / 0
Регистрация: 20.02.2013
Сообщений: 126
|
||||||
| 21.02.2013, 09:52 [ТС] | ||||||
|
Всй неплохо, но:
1. Как сделать так, чтобы записать и сохранить в фаиле example.xlsx - невидимо, скрытно и т.п. 2. Смотри в коде *
Как узнать насколько это оптимальный код??? Хотелось бы иметь код, который работал бы быстрее... Это самый оптимальный код на VBA для данной задачи? Спасибо!!! Казанский, KoGG, Hugo121 - всё по делу!!!
0
|
||||||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 21.02.2013, 10:14 | |
|
Ну в общем поиск одного значения (или даже двух) по небольшоу диапазону find'ом - это думаю самое быстрое решение.
Да и в общем на таких объёмах как не делай - разницы по скорости не заметите ![]() Ну а задача в целом не вполне понятна. я предпочитаю продумывать алгоритм для задачи в целом, а не по отдельным шагам. Если смотреть узко - составьте массив (или два) значений, и ищите пары проходя по массиву циклом. Если пары нет - пора выйти из цикла и добавлять значения.
1
|
|
|
27 / 2 / 0
Регистрация: 20.02.2013
Сообщений: 126
|
||||||
| 21.02.2013, 10:29 [ТС] | ||||||
|
Всем и так понятно, что я валенок VBA - только начинаю учится... Вот разбираюсь на конкретной задачи.
Huggo121 - я тебя понимаю, что когда все целиком яснее, но повторюсь, пытаюсь сам разобраться по шагам. В коде выше я * написал вопросы которые для меня важны. Как создать массив по нескольким значениям - не знаю.
0
|
||||||
|
|
|||||||||||
| 21.02.2013, 13:52 | |||||||||||
Добавлено через 14 минут А чтобы сохранить и закрыть тоже невидимо то перед Application.ScreenUpdating = True добавить строку
1
|
|||||||||||
|
27 / 2 / 0
Регистрация: 20.02.2013
Сообщений: 126
|
||||||
| 22.02.2013, 08:04 [ТС] | ||||||
|
KoGG - красавчик! Но извини переменные изменил для себя... Я убрал открытие книги - пока тестирую внутри книги.
1. Получается если заполнять с поиском по типу: сначала тип (Уголок-1) затем заполни все параметры (Длина, Ширина и т. д.), затем тип (Стенка-1) и заполни все параметры (Длина, Ширина и т. д.), то получается два цикла: Может как-то можно упростить? А то получается два цикла и чем больше типов (например: Уголок-1), тем больше циелов...
0
|
||||||
|
|
||||||
| 22.02.2013, 14:09 | ||||||
|
Для упрощения нужно иметь ясность в голове и в изложении мысли.
Последние формулировки в корне отличаются от первоначальной задачи. Если надо заполнить всю матрицу, то надо по другому продумать архитектуру алгоритма. Циклы лучше сделать вложенными, по i, по j, а массив f() сделать двумерным, на пересечении нужных номеров строк и столбцов массива будет нужное значения. Step - недопустимое имя для переменной , служебное слово конструкции:
и т.д. и т.п. А для начала нарисуй схему на бумаге, чего действительно нужно.
1
|
||||||
|
27 / 2 / 0
Регистрация: 20.02.2013
Сообщений: 126
|
|
| 22.02.2013, 15:24 [ТС] | |
|
0
|
|
|
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
|
|
| 25.02.2013, 13:25 | |
|
To_trvi Здравствуйте. Мне просто интересно, если можно. В AutoCad есть возможность связать чертеж с базой. Любые изменения чертежа должны отображаться изменениями базы. Так не будет проще? Но это на форумы по AutoCAD. А еще там есть очень класная штучка, как динамические блоки. Комбинация этих инструментов дает очень много. Может, и не нужно будет VBA.
0
|
|
|
27 / 2 / 0
Регистрация: 20.02.2013
Сообщений: 126
|
||||||
| 13.03.2013, 10:56 [ТС] | ||||||
Как реализовать, чтобы он записывал значение c1 для нескольких названий b1 (количество названий в диапазоне может быть разное)?
0
|
||||||
|
|
||||||
| 13.03.2013, 11:30 | ||||||
0
|
||||||
| 13.03.2013, 11:30 | |
|
Помогаю со студенческими работами здесь
20
Запись в ячейку БД Запись в ячейку памяти
Запись в ячейку ДБГрида
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|