2017-07-06 74 views
-1

我有一個主要工作簿作爲時間表使用。我有一個不同的「請求」excel工作簿表格,客戶發送給我填寫。我想要一個宏,將客戶表單中的一行復制到我的主工作簿中。在我的主要工作簿中,我想手動輸入一個新行,選擇該行,然後客戶工作簿中的數據將填充到所選行中。我有很多客戶表單,並且希望宏從當時打開的任何客戶表單中提取數據。我不想讓宏自動插入新行,因爲我的計劃工作簿格式化了。有誰知道如何做到這一點?宏從主工作簿中填寫空白選定行從打開的工作簿表格

謝謝!

編輯:我試圖運行初始宏觀和這裏是代碼:

Sub Macro1() 
' 
' Macro1 Macro 
' 

' 
    Windows("TEST - Tool Move Request Form.xlsx").Activate 
    Range("B12:K12").Select 
    Selection.Copy 
    Windows("TEST - Ocotillo Site Tool Move Schedule.xlsx").Activate 
    Range("A26").Select 
    ActiveSheet.Paste 
    Range("E32").Select 
End Sub 
+2

你有沒有嘗試任何的代碼自己?如果是這樣,你可以請張貼它。如果不是,我建議先使用宏錄製器(通過在文件 - >選項 - >自定義功能區下啓用開發人員選項卡找到)。 我想看看你到目前爲止的嘗試,然後我們可以從那裏建立它! – Busse

+0

嗨@Busse!我真的很喜歡這個東西,但我確實嘗試錄製一個宏。它只能完成我想要做的事情。那就是: 子宏1() ' ' Macro1的宏 ' ' 的Windows( 「TEST - 刀具移動請求Form.xlsx」)激活 範圍。( 「B12:K12」)選擇 選擇。複製 的Windows( 「TEST - OCOTILLO網站工具移動Schedule.xlsx」)。激活 範圍( 「A26」)選擇 ActiveSheet.Paste 範圍( 「E32」)選擇 結束小組 –

+0

此外,在申請表我有一些合併的單元格,而在我的主要工作簿中卻沒有。我希望宏忽略合併的單元格,並將其作爲主工作簿粘貼。 –

回答

0
Private Sub Macro1() 
Dim x As Workbook 
Dim y As Workbook 
Dim PrevRow As Long 

'Workbook From - Take the path 
Set x = Workbooks.Open("C:\TEST - Tool Move Request Form.xlsx") 
'Workbook To - Take the path 
Set y = Workbooks.Open("C:\TEST - Ocotillo Site Tool Move Schedule.xlsx") 
'Find the last row and move to the next row 
PrevRow = y.Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row + 1 

'Take the sheet you're going to, and add corresponding value 
y.Sheets("Sheet1").Range("A" & PrevRow).Value = x.Sheets("Sheet1").Range("B12") 
y.Sheets("Sheet1").Range("B" & PrevRow).Value = x.Sheets("Sheet1").Range("C12") 
y.Sheets("Sheet1").Range("C" & PrevRow).Value = x.Sheets("Sheet1").Range("D12") 
y.Sheets("Sheet1").Range("D" & PrevRow).Value = x.Sheets("Sheet1").Range("E12") 
y.Sheets("Sheet1").Range("E" & PrevRow).Value = x.Sheets("Sheet1").Range("F12") 
y.Sheets("Sheet1").Range("F" & PrevRow).Value = x.Sheets("Sheet1").Range("G12") 
End Sub 
相關問題