2016-07-24 7 views
1

Я пытаюсь отправить несколько пользователей в электронную таблицу Excel, содержащую форму, которая собирает данные. Я хотел бы добавить их входные данные в нижнюю строку общего файла. Есть ли способ для каждого из этих пользователей «представить» свои исходные данные, которые я собрал в виде таблицы, и экспортировать в отдельную электронную таблицу?Как экспортировать данные Excel 2016 в другую таблицу с помощью VBA?

+2

Если у вас уже есть база данных Access и в конечном итоге хотите, чтобы данные были возвращены в Access, я бы предложил создать форму в базе данных Access Access со ссылками на вашу базовую базу данных. Каждый пользователь будет использовать интерфейс для ввода данных. Нет необходимости приобретать дополнительные лицензии MS-Access - они установили бы бесплатную версию времени выполнения от Microsoft. – dbmitch

+2

@ dbmitch только что сэкономил вам время на разработку и техническое обслуживание :-). –

+1

Спасибо @dbmitch. У меня уже нет базы данных Access. Все вычисления, необходимые для формы, находятся в скрытой вкладке в листе Excel. Я использовал книгу для некоторого моделирования, и теперь нам нужно собирать данные за короткий промежуток времени. Оглядываясь назад, было бы лучше построить базу данных в Excel. Тем не менее, есть ли способ создать макрос, который будет добавлять данные в нижней части таблицы в другой таблице Excel? –

ответ

0

Вы можете использовать следующие объекты, чтобы отправить свою таблицу коллекций нескольким пользователям.

' Outlook variables 
Dim oOlAp As Object, oOlns As Outlook.Namespace, oOlInb As Object, oOlInb1 As Object 
Dim oOlItm As Object, oOlAtch As Object 

' Get Outlook instance 
Set oOlAp = GetObject(, "Outlook.application") 
Set oOlns = oOlAp.GetNamespace("MAPI") 

В этой таблице используются те же объекты, что и для отправки таблицы ответов.

Затем в загружаемой электронной таблице, которая запускается на вашем компьютере, используйте те же объекты, чтобы извлечь все указанные таблицы из ответов на сообщения.

После этого вы можете использовать обычный интерфейс excel для заполнения базы данных доступа.

+0

В этом предложении есть много недостающих частей. Это намного больше кода и координации, чем вы предлагаете. – dbmitch

+0

Ну, я уже сделал лист, который будет выглядеть: 1 посмотрите в папку Outlook для xls-файлов, извлеките их, импортируйте рабочий лист данных, а затем интегрируйте их с данными в таблицу базы данных. Запись на доступ, вероятно, не очень отличается от записи на любой другой обычный рабочий лист. В моем случае самая сложная часть заключалась в выяснении интерфейса Outlook, поэтому пользователю вообще не пришлось бы обрабатывать файлы. – Shodan

+0

Отлично - если вы можете поделиться больше, чем приведенный выше базовый код запуска, это будет гораздо более полезный ответ. Поскольку у ОП нет даже базы данных Access, я уверен, что ваше решение было бы приятной альтернативой. – dbmitch