Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Отключение анимации при работе с макросами
 
Здравсвуйте, помню натыкался на тему, в которой говорили про возможность ускорить работу макросов путём отключения отображения каждого процесса. Т.е. необходимо сделать так, что бы после нажатия на кнопку были пауза(визуально), после которой выводился уже готовый результат, а не моргание строчек.
Подключение к БД средствами VBA. Разбор синтаксиса
 
Здравствуйте, честное слово, пытался разобраться сам, без помощи знатаков, но я заступорился.
По работе возникла необходимость оперативно выучить способы занесения и чтения с(из) БД MS Access.
Создал элементарный файлик с БД, наставил разных кнопок, но не могу добиться что бы в БД заносились и читались данные с листа.
Если я правильно понял, то способов это сделать - несколько.
SQL запросы, jQuery и обычный VBA.
Может ли кто-нибудь уделить буквально пару минут, что бы объяснить почему не работает код. Подойдёт любой способ.
файлик БД
Файлик эксель

P.S. Вручную поменять путь к БД в макросе
Код
[/CODE][CODE]Sub SendData()
    'первый способ(не работает)
    Dim f1, f2 As Variant                          ' попытка занести значение полей в переменную, для более удобной работы с ними
    Set f1 = Range("Field1").Value                 ' попытка занести значение полей в переменную, для более удобной работы с ними
    Set f2 = Range("Field2").Value                 ' попытка занести значение полей в переменную, для более удобной работы с ними
    Cnn.Execute ("INSERT INTO test (FirstField, SecondField) VALUES (f1,f2);")                                                             ' Пробный вброс данных в таблицу через SQL запрос
    
    'второй способ(работает, но только константы, а не чтение с ячеек)
    'Cnn.Execute ("INSERT INTO test (FirstField, SecondField) VALUES ('ff1','ff2');")                                                      ' Пробный вброс данных в таблицу через SQL запрос
    
    'третий способ(предпочтительный, но не работает)
    'Rst.Fields(0).Value = Range("Field1").Value     ' Нужно как-то объявлять что-то для выполнения этой строки? Почему жалуется на эту строку.
    'Rst.Fields(1).Value = Range("Field2").Value     ' Нужно как-то объявлять что-то для выполнения этой строки? Почему жалуется на эту строку.
    MsgBox "Данные отправлены"
    Exit Sub
End Sub
работа с массивами через СУММПРОИЗВ, Попытка разобраться в формуле
 
Добрый день, может кто-нибудь уделить минутку и объяснить принцип работы с массивами через функцию СУММПРОИЗВ.
Есть файл примера, в нём 3 таблички.
Задача:
значение 1-й таблицы умножить на соответствующее значение из второй и внести данные в третью.(в примере всё интуитивно понятным старался сделать)

Задачу выполнил формулой:
Код
=СУММПРОИЗВ((ТРАНСП($C$6:$C$25)=$I$6:$I$30)*ТРАНСП(D$6:D$25)*ИНДЕКС($J$6:$O$30;;ПОИСКПОЗ($Q7;$J$5:$O$5;0)))

Может кто-то объяснить как она работает?

•Почему нельзя в первом условии (ТРАНСП($C$6:$C$25)=$I$6:$I$30) поменять местами какую область транспонировать, а какую брать в "чистом"  виде

•Для чего вставлены элементы транспонирования во втором условии массива "ТРАНСП(D$6:D$25)"

Изменено: Александр Меркулов - 10.02.2017 11:25:15
Напротив каждой должности вывести список всех сотрудников
 
Есть список сотрудников с указанием должности, нужно напротив каждой должности вывести список всех сотрудников. Помыкался, не понял как сделать.
СУММЕСЛИМН и принцип её работы(или альтернатива), очередная проблема при работе с массивами
 
У меня как обычно - проблема при работе с массивами, вот не могу разобраться, наверняка решение на поверхности, но у меня уже зацикленность и сам не могу разобраться.

Файлы удалены: превышение допустимого размера вложения [МОДЕРАТОР]

Сокращал банально путём удаления 3 тысяч строк, а в оставшейся части вручную поменял значения для большего разнообразия и что бы видно было работает ли подсчёт или нет.(если откроете оба файла - видно будет что изменилось)

P.S. НИ ОДНОЙ формулы не менял.
Делал это исключительно для того, что бы файл меньше весил и его можно было бы закинуть на форум. И случайно увидел, что формулы начали работать "подругому"
Изменено: Александр Меркулов - 01.12.2016 15:07:08
Определить расход ресурсов по количеству продукции и нормам расхода
 
Здравствуйте, словами не смогу объяснить, только на примере:
есть файлик, для примера удалил с него всё лишнее.

необходимо в тот участок, который я выделил красным вставить формулу, аналогичную соседнему(левому) столбику из зелёного блока. Там она очень громоздкая, но однотипная.
берётся кол-во какой-то продукции из жёлтого блока, умножается на норму определённого сырья этой продукции со второго листа.
вся сложность в том, что на втором листе наименования стоят в хаотичном порядке. и приходится их искать.

понимаю, что нужна какая-то формула массива, но я с ними плохо очень разбираюсь.
Поиск связей с другим файлом
 
Доброго времени суток, уважаемые форумчане, такой вопрос:
есть файл(во вложении), при его открытии ексель начинает ругаться на то, что есть связь с другим файлом, как найти где эта связь используется?
Пользовался и поиском и гуглом и помощью высших сил, пока результата ноль.
Классический способ: поиск символа "[" по всей книге не даёт результата ровно как и поиск названия этого файла, просмотр диспетчера имён так же не дал результата.
Самое удивительное: даже кнопка "разорвать связи" не работает(реакция нулевая)
Так как полей не так уж и много, то проверил все поля, где производятся хоть какие-то вычисления и нигде значение(при закрытом исходном файле) не изменились на "#ССЫЛКА"
Может быть и плюнул бы на это сообщение, но бывает, когда нечаянно копируешь из другого файла и действительно появляется связь, которую нужно убрать, а из-за этого окошка не буду обращать на это внимание и пропущу ошибку.
Заранее премного благодарен.
Оооочень долго открывает и работает файл ексель, Невозможно работать с файлом из-за тормозов
 
Есть файл(в приложении), работал "без приключений", после чего был добавлен один лист с расчётами(не сильно много расчётов), файл открывался несколько дней нормально, после чего резко перестал работать нормально. Удаление всего, что было добавлено не помогает, файл всё так же дико тормозит. Читал форум, была похожая проблема: объяснялось огромным количеством подключений к БД акцееса, пробовал удалить все макросы(которые осуществляют подключение) - не помогает. Даже теоритически не могу себе представить что может быть. Пытался даже после сохранения нового варианта файла - перезагружать ПК, что бы выгрузить все данные(на всякий случай) из оперативки. Файл примера - добавлен был самый левый лист, результаты расчётов которого использовались на 2-м листе в самом низу (арматура)
Макросы пробовал удалить вообще все и даже отключал их поддержку(сохраняя файл как неподдерживающий макросы)
Заполнение Первой ячейки первой непустой ячейкой
 
Есть выгрузка с 1С(скрин и пример прилагаются), справа от самой выгрузки формулами выносил все наименовая(потом вставлял их как значения, что бы с ними была возможна дальнейшая работа), ещё правее -(там где единички) вставлял таку же форумулу, которая ставит там единичку везде, на одной строке с ячейкой, содержащей слово "обороты" из (А:А)

задача состоит в том, что бы в столбце G напротив каждой единички ставилось значение из первой непустой ячейки сверху с этого же столбца(G)
Для примера:
на скриншоте формула должна вставить в 58, 64, 72 и 80 фразу из 56 строки столбца (G), т.е. "Бетонная балка 1.3м"

P.S. Вставлять можно куда угодно, т.е. таблица будет не интерактивная, из неё данные будут просто копироваться и переноситься в другое место, так что столбец G можно изменять как угодно
Файлик для примера, чтобы объяснять не на пальцах
.
Замена всех формул на листе на другую формулу
 
Стоит задача в следующем:
есть лист в большим кол-вом разных формул => нет возможности менять каждую в ручную или даже блоками.

В итоге возникла идея сделать макрос, который бы менял все формулы во всех ячейках на такие же с добавлением =ЕСЛИОШИБКА(СТАРАЯ ФОРМУЛА;"")
Код
Public Sub IfErr()
For Each cell In Selection
cell.Formula = "=ЕСЛИОШИБКА(" & cell.Formula & ";"")"
Next cell
End Sub

Выделяю нужную(е) ячейки. Выдаёт ошибку.
подскажите, как правильно написать?
Изменено: Александр Меркулов - 06.09.2016 15:18:18
Экспорт и импорт в MS Acces и обратно, Создание макросов
 
Доброго времени суток, уважаемые, сразу прошу меня простить, если такая тема уже где-то есть, но не могу пользоваться поиском нормально.
Очень буду благодарен, если кто-нибудь поможет решить проблему.
Ситуация следующая: Есть несколько файлов ексель, в которых работают разные люди, каждый файл со своей спецификой.

Задача состоит в том, что бы
а) создать на нужных листах каждой книги кнопки с макросами, по которым поля будут заносится в БД ацесса, привести в "правильный вид" - не проблема, сделаю всё.
б) в чистой книге сделать кнопку с макросом, что бы доставать из БД Ацесса все поля нужные и дальше работать с ними.

Заранее премного благодарен.

P.S. Если у кого-то есть какие-нибудь наработки по этому вопросу - покажите, пожалуйста, если не затруднит, в готовом коде VBA попробую разобраться сам.
Страницы: 1
Наверх