2013-07-25 19 views
0

單元格值我很綠色,當涉及到編碼,但有(概念至少)一些基本知識。但是,我不熟悉使用VBA,而我所需要的任務似乎有點複雜。我甚至不確定是否完全有可能完成。刪除一個工作表中的行基於在不同的片

基本上我有兩個工作,一個開放的「案件」,一個與「封閉」的情況。在特定列(D)中,封閉案例標有值「x」。我正在尋找的是一個宏,它將運行封閉的工作表並在列D中查找帶有「x」的行。然後,我想根據列A中的值從打開的工作表中選擇行,即一個名字和完全匹配。然後我想從打開的工作表中刪除這些行。

所以這個概念是我想要的方式來標記下降的情況下,然後清除的開宗主列表中的相應條目。案例分爲不同的工作表,但最後我有一個宏,它們將它們全部列在主閉頁上。因此,找到帶有「x」的封閉案例,將名稱與另一張表上的名稱進行匹配並刪除該行。

這是否可行?如果是這樣,我該怎麼辦?

非常感謝您的幫助!

編輯:

我,因爲我創建一個主實現了「關閉」表了,我甚至不需要搜索的「X」值。我需要做的就是將名稱從封閉的表單中打開,並從打開的表單中刪除它們(如同它們所在的行一樣)。

繼續尋找答案,因爲這應該更簡單。

+2

很有可能。你有沒有嘗試過這個問題? –

+0

有點,四處尋找一些想法。我想我可以做到這一點更簡單的方式,看到我編輯的帖子 – user2619612

回答

1

是的,這聽起來可行。我會建議嘗試學習一些基本的VBA,將問題分解成小部分工作,然後在將整個過程加在一起之前嘗試將所有這些工作都打好。

因此,首先您需要了解如何遍歷列中的所有值並根據條件測試它們,您可以使用此線程作爲起點(vba loop through column and if certain value then increment)或Google它並查看內容你找到教程。

您需要將您希望如何將數據存儲有關資格(如創建數組或只寫數據到另一個表臨時)記錄決定。雖然寫入另一張表可能效率不高,但您可以非常輕鬆地看到輸出,從而有助於進行調試,尤其是在剛入門時。

然後,您將需要創建一個進一步的程序來打開其他工作簿,通過​​記錄和測試迴路,看他們是否在你的列表,並刪除他們,如果他們。

在每一步驟中去,然後問你需要伴隨着你企圖在它的問題。

一個提示,我發現非常有用使用VBA開始出來的時候。如果您不確定語法是否執行某項操作,則可以在錄製宏時手動執行等效操作。然後你可以看一下那個Excel中自動創建的,有時你需要做的是例如更換絕對單元格引用宏後面的代碼

range("A1").value

與相對引用(例如相對於傳入的一個參數或活性的細胞或通過您的當前迭代通過循環等所表示的行)。

希望這可以幫助你開始。

+0

謝謝,這將有所幫助。你有沒有學習基礎知識的參考?我大部分都理解這些概念,目前我有點失落的語言。另外,我編輯了我的主帖。由於我已經創建了一個關閉案例的主列表,所以我必須按照你所說的(關於複製到臨時表)來循環訪問記錄。 – user2619612

+0

剛剛看到您的編輯,顯着減少所需編碼量的一個選項是按名稱對主閉合列表進行排序,然後將其用於vlookup。 – ChrisProsser

+0

您需要在打開的工作表的末尾添加一列,並在if語句中使用vlookup來爲該名稱是否在關閉列表中提供true或false。公式中的值會自動更新,您可以執行一個簡單的VBA過程來遍歷它們,並用'true'刪除行。 – ChrisProsser

相關問題