2016-07-24 145 views
1

我正在嘗試向多個用戶發送包含收集數據的表單的Excel電子表格。我想將他們的輸入數據追加到公用文件的最後一行。有沒有辦法讓每個用戶能夠「提交」他們的輸入數據,我已經以表格的形式收集並導出到單獨的電子表格中?如何使用VBA將Excel 2016數據導出到其他電子表格中?

+2

如果你已經擁有一個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,查找xls文件的Outlook文件夾,提取它們,導入數據工作表,然後與數據集成到數據庫表中。寫入訪問可能與寫入任何其他正常工作表並無太大區別。在我的情況下,最難的部分是弄清楚Outlook界面,以便用戶不必處理文件。 – Shodan

+0

非常好 - 如果你可以分享比上面非常基本的開始代碼更多,這將是一個更有用的答案。由於OP甚至沒有Access數據庫,我相信你的解決方案將是一個值得歡迎的替代品 – dbmitch

相關問題