2011-03-29 103 views
0

我有一個啓用宏的表單,旨在允許一組數據輸入人員通過事務編號記錄他們的日常工作。隨着形式的發展,這是非常基礎的。但是,我需要編寫一個按鈕的宏,讓每個人在輪班結束時將他們的記錄提交給主表。我需要複製範圍數據並粘貼到主工作簿中,並將個人姓名和日期添加到單個行中。從表單複製範圍並粘貼到工作簿(最好是關閉)

我不確定如何促進複製和粘貼到已關閉的工作簿,或者如何防止多人同時提交到表單。任何人都可以提供任何建議嗎?

回答

1

使其更新數據庫,然後在一天結束時生成報告。我還建議每次用戶輸入記錄時都會插入數據庫,以便在停電的情況下,他們所有的工作都不會丟失。這可能會減少併發問題的數量,因爲用戶會定期添加記錄,而不是同時記錄多條記錄。搜索「VBA DAO」或「VBA ADODB」以查找有關如何使用VBA連接到數據庫的示例。

+0

感謝您的意見。我很想讓它更新一個數據庫,但是我不得不在工作中這樣做,而無需訪問數據庫 - 所以我沒有選擇將整個事情保存在Excel中。對不起,我應該提到。 – Kurt 2011-03-29 17:30:51

+0

MS Access數據庫?文件鎖定是我們使用數據庫的原因之一。 – SQLMason 2011-03-29 17:39:04

+0

甚至沒有訪問權限。隨着Office的發展,我有Excel,Word和PP,所以它必須在Excel中。 – Kurt 2011-03-29 17:53:17

0

添加對「Microsoft Scripting Runtime」的引用以訪問文件系統,然後使用簡單的文件信號量來控制對常用工作簿的訪問。

關於關閉的工作簿,您使用Application.Workbooks.Open(...)和.Close

0

你可以簡單地通過打開工作簿,插入,然後關閉工作簿做到這一點。沒有簡單的方法來插入已關閉的工作簿。請注意,如果您試圖向用戶隱藏某些內容,則可以隱藏這些內容。

0

主要選擇是將項目發送到數據庫。既然這已經排除了,我建議你將數據寫入一個普通的.csv文件。這將更容易實施,並且不會受到Excel行限制的限制。

相關問題