2016-02-25 29 views
0

我的道歉提前VLOOKUP整個工作簿,板材 - 我用VBA如何使用VBA由表

相對新手我每天生成的報告,有幾個表(假設表Sheet1,Sheet2中,工作表Sheet 3)。這些工作表有我跟蹤每個訂單行的備註的表格,並且我想每天查看備註。

我面臨的問題是:我需要能夠爲Sheet1,Sheet2和Sheet3重複此操作,從前一天的相應Sheet1,2,3中拉出並重復這一天。

有沒有辦法讓vlookup識別我的活動工作表名稱,例如: Sheet3,回顧前一天的工作手冊並從Sheet3中拉出來?

這是可以做的事嗎?

感謝您的幫助

+0

有很多方法可以做到這一點。不幸的是,你在一篇文章中提出了幾個問題(不管你是否知道)。堆棧溢出是針對更具針對性的問題。我建議你嘗試錄製一個能夠完成你所要做的事情的宏。 –

+0

嗨n8謝謝你的回覆 - 我會編輯我原來的帖子,以反映我試圖解決的具體問題 –

+0

@ n8。 'Selection.Insert移位:= xlToRight,CopyOrigin:= xlFormatFromLeftOrAbove 範圍( 「D2」)選擇 ActiveCell.FormulaR1C1 = _ 「= VLOOKUP([@列1],'[PLS DMD 022416.xlsm ] Sheet3'!C3:C4,2,FALSE)「 範圍(」D3「)。選擇' 這是我目前正在使用的,但這隻適用於從Sheet3拉到新的022516 Sheet3。這也不會讓我在第二天從(PLS DMD 022616)重複這一點,因爲它不會引用022516,但仍然022416 –

回答

0

之前你,你試圖去你需要一個一致的起點。我會創建一個新的工作簿並在那裏保持你的邏輯。您不需要將宏放在數據所在的工作簿中。

像這樣: enter image description here

使用命名的範圍是最好的情況下,你想改變你的控制工作簿的樣子,你可以創建文件名的公式,讓他們默認爲當前的日期和前工作日。

該代碼將啓動兩個工作簿。希望這對你是一個有效的起點,並給你一個想法如何繼續。

Sub mergeThese() 

    path_New = Range("path_New") 
    path_Old = Range("path_Old") 
    file_New = Range("file_New") 
    file_Old = Range("file_Old") 

    Workbooks.Open path_Old & file_Old 
    Workbooks.Open path_New & file_New 

End Sub 
+0

Hi @ n8。這是我解決問題的好地方 - 我想再次表達我的感激之情! –

+0

如果遇到問題,請告訴我。並給我一個投票!我喜歡積分。 –