2016-09-19 67 views
2

我試圖將數據從一個工作簿的「輸入工作表」移動到另一個工作簿「主工作簿」。兩張紙都在同一個文件中,如果可能的話,如果兩個文件不必同時打開以傳輸數據,但是一旦數據傳輸完畢,主工作簿就會自動保存。鏈接到下面的文件的圖像,以便更容易理解我正在嘗試做什麼。將輸入表中的信息傳輸到主工作表

輸入工作表中的數據位於第6行A-J列中,每個用戶輸入他們要求完成的任務的詳細信息。我希望當單擊一個按鈕時,輸入工作表中的數據將被傳輸到主工作簿中的第2行BK列中,以便每次輸入並傳輸新任務時,都會顯示在下面的行中(以便它可稍後樞轉等)。

http://i.stack.imgur.com/b2cyI.jpg - 輸入薄片

http://i.stack.imgur.com/JZr0a.jpg - 原材

+0

如果您已嘗試過任何操作,請發送代碼 – gizlmo

回答

1
  1. 使用宏here獲得在主表的最後一排。
  2. 然後,只需將輸入工作表中的值寫入主工作表中的相應單元格即可。
  3. 就是這樣。這是你如何引用單元格:

    tbl_master.cells(1,3)= tbl_input.cells(3,5).value的

確保在tbl_input行是一個變量,來從函數中計算最後一行。試一試!

編輯: 這是我使用的最後一行:

Public Function last_row_with_data(ByVal lng_column_number As Long, shCurrent As Variant) As Long 

    last_row_with_data = shCurrent.Cells(Rows.Count, lng_column_number).End(xlUp).Row 

End Function 

如果你想找到表的B列的最後一行「tbl_main」你這樣稱呼它:

last_row_with_data(2,tbl_main) 

編輯2: 在此處更改工作表的名稱,並按名稱引用它們。 enter image description here

爲了獲得此窗口,請選擇左邊的表格並按F4鍵。

+0

感謝您的支持。我是否需要對宏執行任何特殊操作才能找到最後一行,因爲A列已經填充了數字1,2,3,4,5等,而列b是我傳輸的數據需要去的第一個位置?還有(1,3)指的是單元格引用,如1中的3,下?對不起,VBA很新,但要學習! –

+0

嗨@GCob我編輯它應該工作的東西。 – Vityata

+0

謝謝@Vityata,試圖讓我的頭在附近。我的主文件叫做groupmastertasklist,輸入文件叫做grouptaskinputlist。在引用輸入工作簿中的哪些單元格需要轉到主工作簿中的哪些單元格時,如何引用宏中文件的位置?到目前爲止,我已經把你的建議的行查找宏,但不知道如何添加下一部分。公共函數last_row_with_data(ByVal lng_column_number As Long,shCurrent As Variant)As Long last_row_with_data = shCurrent.Cells(Rows.Count,lng_column_number).End(xlUp).Row End Function –

相關問題