2016-06-22 135 views
0

我正在尋找一個代碼,可以將多個工作表中的行復制到基於單元閥的組合工作表中。Excel VBA代碼根據單元值將多個工作表中的行復制到一個工作表中

詳情: 我有多個選項卡(2016-010-082,2016-010-086,2016-060-015等)。在這些工作表的E欄中,我有一個下拉框,您可以根據該任務是否完成來選擇「是」或「否」。我希望所有的任務都是「不」,該行將複製到一張表中,以便我可以看到尚未完成的所有項目的所有任務。

當在特定項目選項卡上將「否」更改爲「是」時,我希望該行也從編譯表中刪除。

我也希望單元格D2和D3分別顯示在編譯表格的A行和B行,因爲這是每個選項卡的標準信息,我需要在編譯的表格上看到這些信息,以便知道哪個項目編號是和項目名稱。

附上樣本圖像。

謝謝!

Sample Image

這是我想將工作一頁......一旦我得到這個簡單的正常工作我想我可以格式化爲多張...

Sub Test() 
    For Each Cell In Sheets(1).Range("E:E") 
     If Cell.Value = "NO" Then 
      matchRow = Cell.Row 
      Rows(matchRow & ":" & matchRow).Select 
      Selection.Copy 
      Sheets("Sheet2").Select 
      ActiveSheet.Rows(matchRow).Select 
      ActiveSheet.Paste 
      Sheets("Sheet1").Select 
     End If 
    Next 
End Sub 
+1

嗨,你可以展示你迄今爲止做了哪些工作來實現這一目標?這是一個支持網站,而不是開發網站。 –

+0

這是我認爲會爲一張紙工作...一旦我得到這個工作簡單的工作正常我想我可以格式化爲多張紙... Sub Test() 對於表中的每個單元格(1).Range ( 「E:E」) 如果Cell.Value = 「否」,則 matchRow = Cell.Row 行(matchRow& 「:」 &matchRow)。。選擇 Selection.Copy 表( 「Sheet 2中」)選擇 ActiveSheet.Rows(matchRow).Select ActiveSheet.Paste Sheets(「Sheet1」)。Select End If Next End Sub – user6499985

回答

0

對於第一部分,在那裏你想要的只是那些與「否」,則可以使用此數組公式設施清單(CTRL + SHIFT +輸入ENTER):

=INDEX(B$2:B$4,SMALL(IF($D$2:$D$4="Yes",ROW(B$2:B$4)-ROW(B$2)+1),ROWS(B$2:B2)))

假設你的數據佈局是這樣的: enter image description here

然後,環繞該IfError([formula],"")隱藏#NUM錯誤。當您將「完成」中的「否」更改爲「是」時,右側的列表將更新。

相關問題