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

Страницы: 1 2 След.
Консолидация данных из нескольких плоских матриц в одну
 
Такой вариант допустим? или нужно что бы ещё и цвета копировались?
P.S. Работает только с числовыми значениями.
Как удалить лишних пробелов в тексте
 
А простой вариант с "=сжпробелы" не подойдёт?
Макрос для автоматической проставки даты
 
Дак ты в первом случае замени -2 на 2, а второй не трогай, точнее:
Код
Private Sub Worksheet_Change(ByVal Target As Range)        For Each cell In Target



         If Not Intersect(cell, Range("D2:D1000")) Is Nothing And _



                                       Target.Offset(0, 2) = "" Then



                With Target.Offset(0, -2)



                    .Value = Date



                    .EntireColumn.AutoFit



                End With



       End If



    Next cell



End Sub
Изменено: Александр Меркулов - 08.06.2018 12:07:45
Макрос для автоматической проставки даты
 
Target.Offset(0, -2)
заменить на
Target.Offset(0, 2)
отсортировать колонку с должностями ,что бы другие колонки не поплыли
 
Если подгруппы не убирать - сортировка будет идти только внутри каждой группы по отдельности. Её нужно убирать
отсортировать колонку с должностями ,что бы другие колонки не поплыли
 
Так?

1) все ячейки должны иметь одинаковый размер(не должно быть объединенных ячеек)
2) Снимаем все группировки(иначе сортировка будет по отдельности в каждой группе)
3) Выделяем ВСЮ таблицу со всеми столбцами и строками
4) Нажимаем вкладку "Данные" --> "Сортировка" ---> "Сортировка по столбцу ......." (в нашем случае по первому столбцу)
Изменено: Александр Меркулов - 08.06.2018 09:34:45
Отключение анимации при работе с макросами
 
Огромное всем спасибо. Поиск юзал, но не смог поиску объяснить что я хочу.
Отключение анимации при работе с макросами
 
Здравсвуйте, помню натыкался на тему, в которой говорили про возможность ускорить работу макросов путём отключения отображения каждого процесса. Т.е. необходимо сделать так, что бы после нажатия на кнопку были пауза(визуально), после которой выводился уже готовый результат, а не моргание строчек.
Подключение к БД средствами 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
Показать данные из последней заполненной 1-й, 3-й.. и т.д. ячейки
 
Не совсем понял задание, но возможно Вы имели ввиду это?
Линейчатая диаграмма внутри ячейки
 

Выбирай любой вариант
Изменено: Александр Меркулов - 10.02.2017 13:38:26
работа с массивами через СУММПРОИЗВ, Попытка разобраться в формуле
 
Добрый день, может кто-нибудь уделить минутку и объяснить принцип работы с массивами через функцию СУММПРОИЗВ.
Есть файл примера, в нём 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
Напротив каждой должности вывести список всех сотрудников
 
Цитата
_Igor_61 написал:
Нашел причину. Когда запускаю скачанный файл из #1, в настройках выключается автоматический пересчет формул.
Да, просто у меня это выключено из-за специфики многих файлов, которые просто зависнут,  если будет всё автоматом обновляться каждый раз.
А так в принципе в посте #8 рабочий вариант. Я мыкался, думал там как-то нужно через транспонированный "СУММПРОИЗВ" на массив делать, но не так и не осенило как осуществить.
Может и поздно благодарю, но спасибо.
Напротив каждой должности вывести список всех сотрудников
 
Есть список сотрудников с указанием должности, нужно напротив каждой должности вывести список всех сотрудников. Помыкался, не понял как сделать.
СУММЕСЛИМН и принцип её работы(или альтернатива), очередная проблема при работе с массивами
 
У меня как обычно - проблема при работе с массивами, вот не могу разобраться, наверняка решение на поверхности, но у меня уже зацикленность и сам не могу разобраться.

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

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

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

В формуле СУММПРОИЗВ перемножаются несколько массивов, ИЛИ она используется(как в данном случае) для нахождения пересечений(как ИНДЕКС) по каким-то условиям. все эти условия перечисляются знаком звёздочки, который в экселе заменяет оператор " И " это я всё понимаю.

НО:
Код
'Расчёт расхода на продукцию'!$A$4:$A$76=ТРАНСП($B$9:$B$28)
эта часть мне непонятна, что тут происходит?
с одного листа из диапазона берутся данные(с наименованием изделий) и они должны быть равны данным из точно такого же столбика с другого листа, но почему "ТРАНС"? я боюсь ошибится, но ТРАНС - преобразование горизонтальной строки в вертикальный столбик и наоборот. В данном случае оба столбика вертикальные. И поэтому не понимаю этого, но если убрать "ТРАНС", то перестаёт работать.
Определить расход ресурсов по количеству продукции и нормам расхода
 
Цитата
Ігор Гончаренко написал:
если на листе Расчет сырья список в колонке 2 (Тип) привести в соответствие со списком колонки 1 (наименование продукции)
в списках должны быть одни и те же названия в одинаковом порядке
К сожалению нет такой возможности. Если бы было всё в правильном порядке - не было бы подобных проблем.
Дело в том, что данный порядок необходимо оставить в неизменном виде из-за предыдущего работника, у которого около десятка разных отчётов и в каждом из них разное количество и порядок этих стрчоек
Определить расход ресурсов по количеству продукции и нормам расхода
 
Всех прошу меня извинить, после создания темы пришлось срочно отъехать до конца дня. Не было возможности мониторить.

В посте №2 от Влада. решение подошло.
Код
=СУММПРОИЗВ(('Расчёт расхода на продукцию'!$A$4:$A$76=ТРАНСП($B$9:$B$28))*ТРАНСП(J$9:J$28)*ИНДЕКС('Расчёт расхода на продукцию'!$C$4:$CP$76;;$C61))

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

Уважаемые форумчане, подскажите, пожалуйста, по поводу первого условия в этой формуле, где вертикальный столбик должен быть равен транспонированной версии такого же столбца.

P.S.Пример в посте №2.
Определить расход ресурсов по количеству продукции и нормам расхода
 
Здравствуйте, словами не смогу объяснить, только на примере:
есть файлик, для примера удалил с него всё лишнее.

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

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

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

эту часть:
Код
(ДЛСТР($C4)-ДЛСТР(ПОДСТАВИТЬ($C4;"вв";"")))/2
можно удалить, забыл её убрать, это из первого примера(когда неправильно понял задание)
т.е. в столбце D должна остаться только
Код
=A4-ЛЕВСИМВ($C4;-1+ПОИСК("вв";$C4))
Изменено: Александр Меркулов - 28.11.2016 15:26:41
Счетесли по 1 ячейки, Подсчет значений по условиям в 1 ячейке
 
попробуйте
Код
=(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;"1вв";"")))/3 - посчитает кол-во повторений выражения 1вв
по аналогии тоже самое с 1вх

P.S. "/3" на частный пример с этими сочетаниями символов, т.к. формула будет считать общее кол-во символов и делить его на 3, что бы считалось как одно найденное совпадение

P.S.S.прошу удалить данное сообщение, так как писал его того, как увидел пример. неправильно понял задачу  
Изменено: Александр Меркулов - 28.11.2016 14:51:16
Поиск связей с другим файлом
 
Оу, невнимательно смотрел, я думал, что он сказал, что у него в моём файле нет связи, что и спросил в сообщении №4, но, к сожалению, я уже внёс много изменений и бекап не хотелось бы брать, кто-нибудь знает как он убрал связь? Он вышел с темы
Поиск связей с другим файлом
 
Да, спасибо, я спрашивал про это, но всё равно не получается. Так же никаких реакций :(
Поиск связей с другим файлом
 
Цитата
Vladimir Chebykin написал: почему не получается разорвать имеющуюся связь в файле
а как разорвать эти связи при наличии этого файла? При закрытом файле - нажимаю на кнопку, ничего не происходит. Открываю этот(исходный) файл, окошко не вылезает с сообщением, что есть связи.
Цитата
kuklp написал: Без связи.
0-о у Вас при открытии не вылезает окно, в котором предупреждение о наличии связей? У всех, кому я скидывал(даже вне локальной сети) - есть связи
Поиск связей с другим файлом
 
Доброго времени суток, уважаемые форумчане, такой вопрос:
есть файл(во вложении), при его открытии ексель начинает ругаться на то, что есть связь с другим файлом, как найти где эта связь используется?
Пользовался и поиском и гуглом и помощью высших сил, пока результата ноль.
Классический способ: поиск символа "[" по всей книге не даёт результата ровно как и поиск названия этого файла, просмотр диспетчера имён так же не дал результата.
Самое удивительное: даже кнопка "разорвать связи" не работает(реакция нулевая)
Так как полей не так уж и много, то проверил все поля, где производятся хоть какие-то вычисления и нигде значение(при закрытом исходном файле) не изменились на "#ССЫЛКА"
Может быть и плюнул бы на это сообщение, но бывает, когда нечаянно копируешь из другого файла и действительно появляется связь, которую нужно убрать, а из-за этого окошка не буду обращать на это внимание и пропущу ошибку.
Заранее премного благодарен.
Оооочень долго открывает и работает файл ексель, Невозможно работать с файлом из-за тормозов
 
Цитата
vikttur написал:
Этим предложением Вы напрочь отбиваете охоту помогать Вам.
При всём уважении: Как оказалось - не то, что я предполагал, ни то, что другие предполагали - не оказалось верным решением проблемы, решение было найдено совершенно случайно своими словами я подчеркнул то, что нет смысла всё перечитывать, так как решение я написал, и тем не менее было большое число желающих помочь и различных советов, я выразил благодарность всем за это, если кого-то оскорбило это или кто-то неправильно понял- приношу свои извинения, данный пост можно удалить, так как это ответ на Ваше "vikttur замечание.
Оооочень долго открывает и работает файл ексель, Невозможно работать с файлом из-за тормозов
 
Танцы с бубном помогли. Решение оказалось гениально простым(если вдруг кто-то следил за темой).
А именно:
"Условное форматирование" не знаю откуда взялось, но выделив весь лист(проблемный) и нажав на "условное форматирование" ---> "управление правилами" - увидел, что там непонятно откуда взявшийся критерий(жёлтый цвет), который не используется(не стал запоминать какой там был критерий, просто я знаю, что я его не ставил), удалив его всё стало работать как в сказке, всем большое спасибо за стремление помочь и конструктивную критику. Прошу закрыть тему, проблема решена самостоятельно.
Оооочень долго открывает и работает файл ексель, Невозможно работать с файлом из-за тормозов
 
Цитата
JayBhagavan написал:
А макросом протянуть формулы докуда надо не вариант?

Почему это играет для всех такую важную роль? Я понимаю, что это нужно не Вам, а мне и Вы не обязаны мне что-то доказывать, но я перед тем как спорить с пеной у рта - сделал как посоветовали, мне не помогло удаление строк с листа DataBase и соответственно решать проблему с тем, как сократить их количество в этом листе - не вижу смысла.

P.S. У меня основная проблема - зависание на одном конкретном листе при одном конкретном действии, то, что данные с листа DataBase ни как не влияют на это, как мне казалось, я уже доказал. Если вы удалите данные, которые кажутся Вам лишними: а именно всё, что вычисляется в листе DataBase с пустыми значениями и это хоть как-нибудь поможет решить основную проблему - я принесу всем, кто об этом говорил самые искренние и глубокие извинения
Изменено: Александр Меркулов - 27.10.2016 14:57:55
Страницы: 1 2 След.
Наверх