2015-04-05 15 views
-1

場景:
我有2個簿,第一個是「主」工作簿和另一種是「僕人」工作簿或其他術語「僕人」工作簿是一個子集「主」工作簿中,兩個工作簿都包含一個名爲「商品」的列,「主」工作簿包含所有項目的詳盡列表,其中「僕人」工作簿中的項目很少,但包含與這些項目相對應的新更新值。給我Excel VBA中工作:主片的更新用

工作:
我不得不手動先挑選從「僕人」工作簿中的商品發現,在「主」工作簿「商品」,並與被填充在新值更新主簿「僕人「工作簿。

爲什麼我不得不手動查找每件商品是因爲兩張紙上的數據排序不匹配。

我的代碼:

Sub Macro4() 
    ' 
    ' Macro4 Macro 
    ' 
    Windows("test2.xlsx").Activate 
    Range("A2:A15").Select 
    Selection.Copy 
    Windows("Test.xlsx").Activate 
    Range("B2:B15").Select 
    Windows("test2.xlsx").Activate 
    Range("B2:B15").Select 
    Application.CutCopyMode = False 
    Selection.Copy 
    Windows("Test.xlsx").Activate 
    ActiveSheet.Paste 
    Application.CutCopyMode = False 
End Sub 
+1

你可以粘貼你的第一個代碼嘗試? – 2015-04-05 22:47:24

+0

這不是一對結對的編程網站,這是一個關於回答特定問題的網站。這篇文章沒有具體的問題,只是一個請求來幫助你滿足要求。請查看[幫助中心](http://stackoverflow.com/help)和[我如何提出一個好問題?](http://stackoverflow.com/help/how-to-ask) – 2015-04-06 01:13:19

+0

我知道它看起來很簡單,但這個代碼中的問題仍然是獲取前15個結果,它不檢查單元格的內容,但只將前15個值從「servant」表粘貼到主對應的前15個單元而不論在「主」和「僕人」表中前15個值的內容是否相等。 – magnanimousvip 2015-04-06 04:32:22

回答

0

我想我明白你追求什麼,但我不相信任何人都可以給你。

你所要求的是一個非常簡單的VBA宏。如果你不瞭解足夠的VBA來編寫這個宏,我不相信你會理解它,如果它給了你。

您必須學習基礎知識。在網上搜索「Excel VBA教程」。有很多選擇,所以嘗試一些,並完成符合你的學習風格。我更喜歡書籍。我訪問了一個好的圖書館,回顧了他們的Excel VBA Primers,並借鑑了我喜歡在家裏嘗試的方式。最後,我買了一本我最喜歡的作爲永久參考書。

我不知道您將如何迅速吸收Excel VBA中編程的關鍵概念。有些人發現這些概念很明顯,而對於其他編程則是一個外星人的世界,他們永遠不會感到高興。我建議你每天投入半天的時間學習VBA。如果你發現VBA合理易懂,那麼就開始考慮你的宏。

您提供的代碼是由Excel宏記錄器創建的。宏記錄器是識別與鍵盤功能對應的VBA語句的好方法,但它不是學習VBA的好方法。它對你的宏不會有什麼幫助。

本教程應解釋「工作簿」和「工作表」之間的區別。工作簿是保存到磁盤的文件。 「test2.xlsx」和「Test.xlsx」是工作簿。工作簿將包含一個或多個工作表。工作表包含行和列。在你的問題中,你對工作簿和工作表都使用「工作簿」。

您將需要設計您的宏。對於一個簡單的宏,如果經常記錄你會如何手動對待這項任務最簡單的方法:

Open master workbook. 
Open servant workbook. 
Within Servant workbook look at worksheet containing Commodity column. 
For each entry in this column: 
    Search for matching entry in Community column of master workbook. 
    If matching entry found 
    Copy select values from servant row to master row 
    If matching entry not found 
    Record error or take corrective action. 
Next 
Save master workbook. 

假設我明白你的問題,上面的列表是您的宏的結構。列表中的大部分行對應於您應該從教程中學到的一個或幾個簡單的VBA語句。

在您的宏中,您已經打開了master和servant工作簿。一個工作簿中的VBA宏可以打開其他工作簿。一旦你有一點經驗,你可能會發現這是最方便的方法。但是,我建議您將多工作簿宏留給第2階段。我建議你創建一個包含主工作表和servant工作表副本的開發工作簿。首先讓您的宏在單個工作簿中工作,然後更新多個工作簿。我通常會發現最好在工作簿中有宏不能被常規用戶評估。該宏將打開主和工作簿工作簿。

我希望這給你一個開始。大多數人一旦掌握了基本知識,就不會發現Excel VBA中的編程太難了。但是,在掌握這些基礎知識之前,試圖在網絡上找到代碼片段是最困難和最慢的,而且往往是不可能的。