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

Страницы: 1 2 След.
Смещение данных на строку ниже по условию из выпадающего списка, и дублирование диапазона верхней строки
 
Есть таблица (Лист Задачи), в которой ведется учет сотрудников, назначенных на Объекты. На каждый объект назначается сотрудник в столбце F. В столбцах G:АK планируются часы работы сотрудников. Бывают ситуации, когда основной работник уходит в отпуск и на Объект нужно назначить  дополнительного работника . В столбце E, на против основного сотрудника, выбирается из выпадающего списка "треб. подмена", например, в строке 6 (E6). После этого выбора нужно, что бы  срабатывал макрос, который сместит на строку ниже информацию из диапазона A7:AK (последняя не пустая строка), т.е. на A8:AK. А в строку 7  продублирует часть строки 6 - диапазон A6: D6
Есть макрос, который просто переносит информацию по кнопке. Помогите доработать его под мою задачу, если такое вообще возможно
SQL запросы к книгам Excel-2, загрузка именованного диапазона из Excel в запрос на выборку Access
 
В общем решение оказалось простым. Нужен офис 2010 на всех компах и в свойствах подключения в правах доступа нужно указать: Share Deny None
SQL запросы к книгам Excel-2, загрузка именованного диапазона из Excel в запрос на выборку Access
 
Вопрос в совместном доступе в Excel - не просто это сделать (ну мне не просто). Потребуется VBA. Ну или я не знаю адекватного способа
Изменено: Ram-zes - 15.01.2015 15:21:11
SQL запросы к книгам Excel-2, загрузка именованного диапазона из Excel в запрос на выборку Access
 
В принципе, выложить можно, но мне нужно ее подготовить для этого, только завтра
SQL запросы к книгам Excel-2, загрузка именованного диапазона из Excel в запрос на выборку Access
 
видимо просто для операции БД
SQL запросы к книгам Excel-2, загрузка именованного диапазона из Excel в запрос на выборку Access
 
LVL, а куда деваться? Если нужно такое количество полей: 01.01 | 02.01 | 03.01 и т.д.

Antubas, с VBA не работаю, к сожалению...
Изменено: Ram-zes - 15.01.2015 15:08:07
SQL запросы к книгам Excel-2, загрузка именованного диапазона из Excel в запрос на выборку Access
 
Antubas, а вставляем этот код в SQL запрос? Я правильно понимаю, что вместо моего кода нужно вставить ваш?
SQL запросы к книгам Excel-2, загрузка именованного диапазона из Excel в запрос на выборку Access
 
Да, совсем забыл, есть еще одно огромное преимущество у SQL запросов перед связанными таблицами. Вы знаете, что Access не берет более 255 столбцов...
В моем случае в файлах ведется учет рабочего времени и там создана шкала времени на весь год, т.е. более 360 столбцов. Если вы делаете связанную таблицу, то она возьмет в Access только первы 255 столбцов. Даже если вы создадите именованный диапазон на столбцы после 255 и попытаетесь создать связанную таблицу в Access на этот диапазон, то он ее не подцепит. А вот SQL запрос берет с этого листа любые диапазоны. В начале мне приходилось дублировать вторую половину года на отдельный лист и с него делать связанную таблицу, сейчас же все на одном листе
SQL запросы к книгам Excel-2, загрузка именованного диапазона из Excel в запрос на выборку Access
 
Когда я создавал эту тему, то хотел упростить (упорядочить) работу в Access, обнаружил в интернете информацию про прямое обращение к файлам Excel с помощью запросов из Access, но там не было информации о том, как делать такие запросы на диапазоны. Пока ждал помощи, сам разобрался с этими запросами, но вот появилась новая проблемы с обновлением данных (описал выше)
SQL запросы к книгам Excel-2, загрузка именованного диапазона из Excel в запрос на выборку Access
 
LVL, ну сейчас с запросами и получением (обменом) информации между файлами проблем нет. Есть другая проблема:

Почему при обновлении данных в файле Excel открывается другой файл, связанный с ним через запрос Access?

Есть файл данные_1.xlsx. Он связан с файлом данные_2.xlsx через запрос Access. Все файлы находятся в локальной сети. Подключение к базе данных Access в Excel идет по ссылке на сетевой диск Data Source=P:\База\...
При обновлении файла данные_1.xlsx на компьютере_1 происходит запуск на этом же компьютере файла данные_2.xlsx (в режиме для чтения), если он одновременно открыт на компьютере_2.
Если файл данные_2.xlsx закрыт, то обновление в файле данные_1.xlsx происходит без открытия связанного файла
Из-за чего так происходит и что сделать, что бы при обновлении файла данные_1.xlsx не запускался файл данные_2.xlsx

Можно ли решить эту проблему через настройку свойств подключения в Excel? В частности в настройке прав доступа:
Права доступа (Read - только чтение; ReadWrite - чтение и запись; Share Deny None - никому не отказывать ни в чтении, ни в записи; Share Deny Read - запретить всем работу в режиме чтения; Share Deny Write - запретить всем работу в режиме записи; Share Exclusive - запретить всем работу в режиме чтения/записи; Write - только запись).
Изменено: Ram-zes - 15.01.2015 14:43:28
SQL запросы к книгам Excel-2, загрузка именованного диапазона из Excel в запрос на выборку Access
 
Antubas, может DAO.Recordset и спасет... Но мне об этом не ведомо. Я не профессиональный IT и к сожалению об DAO.Recordset пока ничего не знаю. Можете показать пример кода, я попробую
SQL запросы к книгам Excel-2, загрузка именованного диапазона из Excel в запрос на выборку Access
 
Вообще коммуникация очень сложная... Но если коротко то примерно так:
Есть файл Excel, куда вносится первичная информация (одно из полей Отдел). Информация поступает в Access и там идет нарезка этой информации на отделы, т.е. в Access есть запросы, которые и делают эту нарезку, скажем на 10 отделов (ну понятно, что в каждом запросе стоит свое условие - название отдела). C этих запросов информация отправляется в другие файлы Excel - по отделам. Там вносится необходимая информация. Затем в Access работают другие запросы, которые уже обращаются к этим файлам Excel и получают информацию в базу, есть консолидирующий запрос, который после, отправляет все данные в исходный файл.
При сохранении файлов Excel информация попадает в Access. При обновлении данных в Excel информация закачивается из Access. Ну вот как-то так.
Изменено: Ram-zes - 15.01.2015 14:36:16
SQL запросы к книгам Excel-2, загрузка именованного диапазона из Excel в запрос на выборку Access
 
Да, использовать значения...

LVL, обмен данными идет постоянно - это не разовая акция. Поэтому, как я понимаю, при удалении связанной таблицы, данные перестанут загружаться в запрос.
Изначально я так и делал, как вы описали (делал связанные таблицы в Access и обращался к ним запросами), но мои эксперименты показали, что если сразу обращаться к данным в файле  Excel из запроса с помощью SQL, то скорость обмена данными выше, а заморочек меньше. Если Вы линкуете, то перегружаете базу дополнительными таблицами, мне кажется - это лишнее промежуточное звено, особенно если нужно получать данные не с одного, а с нескольких таких файлов
SQL запросы к книгам Excel-2, загрузка именованного диапазона из Excel в запрос на выборку Access
 
B.Key, так не получается...
Сборка по теме с учетом моих экспериментов:
1. Данные всего листа
SELECT [Лист1$].* FROM [Лист1$] IN '' [Excel 12.0XML;HDR=Yes;IMEX=1;DATABASE=С:\База данных\Файл.xlsx];

2. Данные заданных полей (поля должны стоять в первой строке)
SELECT [Лист1$].[Поле1], [Лист1$].[Поле2],[Лист1$].[Поле3] FROM [Excel 12.0XML;HDR=YES;IMEX=1;DATABASE= С:\База данных\Файл.xlsx].[Лист1$]

3. Данные по заданному диапазону
SELECT * FROM [Лист1$A6:A11] IN '' [Excel 12.0XML;HDR=Yes;IMEX=1;DATABASE=С:\База данных\Файл.xlsx];

4. Данные по именованному диапазону
SELECT * FROM [имя диапазона] IN '' [Excel 12.0XML;HDR=Yes;IMEX=1;DATABASE=С:\База данных\Файл.xlsx];
Изменено: Ram-zes - 15.01.2015 16:34:17
SQL запросы к книгам Excel-2, загрузка именованного диапазона из Excel в запрос на выборку Access
 
Есть таблица Excel, данные которой загружаются в запрос на выборку Access
В запросе можно указать разные способы загрузки данных:
1. Загружаются данные всего листа:  SELECT [Лист1$].* FROM [Лист1$] IN '' [Excel 12.0;HDR=Yes;IMEX=1;DATABASE=С:\База данных\Файл.xlsx];
2. Загружаются данные заданных полей:  SELECT [Лист1$].[Поле1], [Лист1$].[Поле2],[Лист1$].[Поле3]  FROM [Excel 12.0;HDR=YES;IMEX=1;DATABASE= С:\База данных\Файл.xlsx].[Лист1$]

Нужен третий вариант: загрузка данных именованного диапазона или заданного диапазона, например A3:K20. Подскажите, можно ли загружать напрямую из Excel в ЗАПРОС Access данные диапазона? Если да, то как?
Знаю как загружать именованный диапазон в Access с помощью сводных таблиц, но нужна загрузка в запрос
Изменено: Ram-zes - 12.01.2015 17:58:10
VBA: перенос (дублирование) двух диапазонов данных с Листа1 на Лист2 (без кнопки и захода на Лист2)
 
Еще на одном форуме подсказали вот такое решение, может пригодится:
Код
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("Календарь".Range("A:F".Copy Sheets("Дубликат" .Range("A1" 
Sheets("Календарь".Range("HK:OL" .Copy Sheets("Дубликат" .Range("G1"
End Sub
VBA: перенос (дублирование) двух диапазонов данных с Листа1 на Лист2 (без кнопки и захода на Лист2)
 
Sanja! Спасибо Вам огромное! Теперь все работает! Выкладываю файл для всех, кому может быть полезной эта информация!
И так:
1. В файл в Лист Задачи могут закачиваться внешние данные, например, по ссылкам из другого файла Excel или из Access. Зачем так сделано? Это позволяет разносить задачи одного проекта (проектов) по отделам.
2. Данные о задачах переносятся в Лист Календарь, где начальник отдела может назначать исполнителей на задачи, добавлять новые, не проектные задачи и вести табель.
3. Данные из табеля можно выгружать в другие файлы, например в тот же Access для дальнейшей работы. Дело в том, что Access не берет более 255 столбцов, поэтому пришлось второе полугодие табеля продублировать на Лист Дубликат. Создаем два именных диапазона и кидаем их в Access для дальнейшей работы, например, для консолидации данных по проектам, по загрузке ресурсов, а так же можно сделать нарезку задач на каждого сотрудника, особенно если их много в отделе

Надеюсь эта информация окажется полезной для других пользователей. Если будут вопросы по транспортировке данных в Access, пишите, отвечу, как делаю я. Всем удачи! И еще раз ОГРОМНОЕ СПАСИБО Sanja!
VBA: перенос (дублирование) двух диапазонов данных с Листа1 на Лист2 (без кнопки и захода на Лист2)
 
Такое поле № Проекта, затем № Задачи. Их СЦЕПЛЕНИЕ наверное и есть уникальное значение (1.1, 1.2, 2.1, 2.2. - первая цифра номер проекта, вторая - номер задачи - их сочетание не повторится)
Изменено: Ram-zes - 08.12.2014 15:54:00
VBA: перенос (дублирование) двух диапазонов данных с Листа1 на Лист2 (без кнопки и захода на Лист2)
 
JeyCi! Пол дня я лазил по интернету и читал об lif и Select Case, смотрел примеры, около 30 файлов, где идет сравнение данных. Увы! Моих усилий и познаний в программировании недостаточно. Все таки у меня не техническое и тем более не It образование. Общий смысл понятен:

Select Case <величина>
Case <сравнение диапазона 1>
<блок операторов 1>
Case <сравнение диапазона 2>
<блок операторов 2>


Но на этом все и останавливается.... Может кинете источник, с помощью которого можно в этом разобраться самостоятельно и сделать по аналогии? Правда, нет сил и времени пытаться понять то, что не дано. У программера особый склад ума и мышления... Извините
VBA: перенос (дублирование) двух диапазонов данных с Листа1 на Лист2 (без кнопки и захода на Лист2)
 
Sanja! Спасибо Вам огромное! В моем сознании Вы сдвинули гору Фудзи!
Остался последний нюанс - при сохранении файла в Листе Дубликат макрос тиражирует данные. Не зависимо от того есть или нет новые записи в Листе Календарь. Три раза сохранил файл, три раза макрос повторил одни и теже данные. Нужно, что бы макрос обновлял данные в Листе Дубликат, а если новых данных нет, то ничего и не добавлял. Можно ли так сделать?

В примере файл который я сохранил три раза. Посмотрите на записи в Листе Дубликат
Изменено: Ram-zes - 07.12.2014 22:24:41
VBA: перенос (дублирование) двух диапазонов данных с Листа1 на Лист2 (без кнопки и захода на Лист2)
 
В Листе Календарь шапка таблицы выделена разными цветами. Мне нужно что бы в Лист Дубликат переносились данные со столбцов A-F и HK-OL
VBA: перенос (дублирование) двух диапазонов данных с Листа1 на Лист2 (без кнопки и захода на Лист2)
 
Sanja, спасибо! Данные переносятся при сохранении - вопрос с кнопкой решен.
А как сделать, что бы данные не тиражировались в Листе Дубликат и перенос шел по диапазонам?
VBA: перенос (дублирование) двух диапазонов данных с Листа1 на Лист2 (без кнопки и захода на Лист2)
 
Добрый день форумчане! Помогите с переносом двух диапазонов данных: они выделены зеленым цветом в шапке таблицы в Листе Календарь. Эти диапазоны нужно перенести в Лист Дубликат. Нужен макрос, т.к. если переносить данные через ссылку на ячейку, то при больших объемах информации Excel зависает. А при добавлении строк в Листе Календарь содержание добавленных строк не отображается.
Очень важно, что бы перенос данных был автоматическим (ну или при сохранении файла), без кнопки и захода в Лист Дубликат, т.к. с этого листа данные автоматически экспортируются в Access.

Просмотрел массу примеров здесь на сайте и в интернете. Но похожего решения не нашел. Благодаря примерам смог прикрутить макрос, который дублирует данные через кнопку и одним массивом. К сожалению у меня нет знаний по VBA, поэтому прошу помочь
выбор дат: Начало | Окончание по нечетным столбцам
 
Все правильно работает! Просто при больших массивах данных размер файла увеличивается и обсчет замедляется...
Изменено: Ram-zes - 30.11.2014 15:43:03
выбор дат: Начало | Окончание по нечетным столбцам
 
Спасибо, вам еще раз!!!
выбор дат: Начало | Окончание по нечетным столбцам
 
JayBhagavan, спасибо Вам огромное! Так и нужно. А можно как-то оптимизировать формулу - очень большая получилась? Прошу прощения за мою наглость...
выбор дат: Начало | Окончание по нечетным столбцам
 
В первой таблице даты в столбцах Начало и Окончание проставляются сами, а во второй таблице, где ПЛАН-ФАКТ нужно что бы поставлялись.
В ячейку В14 данные из Е12 на основе Е14
В ячейку С14 данные из К12 на основе К14
Изменено: Ram-zes - 30.11.2014 15:18:35
выбор дат: Начало | Окончание по нечетным столбцам
 
Есть таблица с часами работы по дням. Нужно, что бы даты Начала и Окончания работ ставились автоматически, исходя из первой и последней записей в строке табеля.
Для простого табеля ПЛАН я расчет дат сделал.
А вот для табеля, где используется ПЛАН-ФАКТ, ни как не могу сделать выборку по нечетным столбцам, т.е. по ФАКТУ. Подскажите формулу или может где-то есть решение.
Во вложенном файле две таблицы: верхняя - найдено решение, нижняя - нужно решение
4 списка объединить в один (не макросом) [всё же макросом ))]
 
GeorgeDark, Вы правы! Это головная боль. Именно по этому я сейчас сижу и пытаюсь повысить надежность учета, сбора и обработки информации. Понимаю, что самое узкое место - пользователи, которые постоянно делают что-то не так и вылазят ошибки. И все что я придумаю, потребует совершенствования и доработки...

Ivan.kh и Alexander88, спасибо Вам огромное! Теперь макрос работает и со ссылками - это то, что нужно! Кроме того, он добавляет новые отделы. Надеюсь, что Ваша совместная разработка будет полезной и другим форумчанам, тем, кто сам пытается решать свои и не только свои задачи!

На последок пара вопросов:
1. При нажатии кнопки "Консолидация" (Ivan.kh, с Вашего позволения я заменил "Хрясь") макрос полностью обновляет Лист2. При объемах в 10-30 тыс. строк это не критично?
2. Как изменить тему этой ветки (4 списка объединить в один (не макросом) - нужно убрать "не макросом") , все таки оптимальным способом консолидации оказался макрос?
Изменено: Ram-zes - 26.11.2014 14:36:02
4 списка объединить в один (не макросом) [всё же макросом ))]
 
Z! Ни кто не говорил о тех задании и бюджете! Если бы бюджет был, то я делал бы заказ на работу... Я же пишу на форум, догадайтесь почему?

Есть задача: 1. раздать информацию (я ее решил), 2. консолидировать информацию (нужна помощь), 3. настроить отчеты (тоже решил). Как видите делаю все сам, как и большинство тех, кто обращается сюда за помощью.
По поводу консолидации. Я точно не первый, кто столкнулся с этим вопросом. Меня удивляет, что такое решение отсутствует в интернете. Мне не хотелось бы обсуждать тему оплаты, здесь тема конкретная - консолидация информации! И вы либо можете здесь чем-то помочь либо нет - не для этого ли форум? Не тратье свое и чужое время на банальные советы про деньги...
И еще, все рекомендации данные мне, становятся достоянием для всех форумчан - в этом ценность форума, не так ли?
Изменено: Ram-zes - 26.11.2014 11:42:20
Страницы: 1 2 След.
Наверх