質問: excel如何彙整不同sheet的資料 要如何把不同sheet的資料彙整在一起(彙整條件為,某欄位有值) 現在我是用excel來區分不同的產品類別! 所以客戶在下單的時候,有可能每一個sheet都有一些產品, 我希望可以把所有客戶有下單的東西,整理在一個sheet,以方便核對, 我該如何把「數量」這欄是有值的狀況時,就把該筆資料彙整到另一個sheet呢? 例: sheet 洗澡用品: a b c d e 項目 規格 單價 數量 小計 洗髮精 100ml 100 2 200 洗髮精 200ml 150 沐浴乳 100ml 80 1 80 sheet 保養品: a b c d e 項目 規格 單價 數量 小計 化妝水 100ml 150 2 300 精華液 100ml 200 保濕 100ml 80 1 80 彙整後 sheet total a b c d e 項目 規格 單價 數量 小計 洗髮精 100ml 100 2 200 沐浴乳 100ml 80 1 80 化妝水 100ml 150 2 300 保濕 100ml 80 1 80
回答: 使用vba(巨集)方式 先匯入洗澡用品,再匯入保養品 範例檔在http://www.funp.net/6688843 sub 按鈕1_click() '以下是匯入第一個工作表也就是洗澡用品 sheets(1).select for i = 2 to sheets(1).[a65536].end(xlup).row + 1 if cells(i, 4) <> "" then k = sheets(3).[a65536].end(xlup).row + 1 for j = 1 to 5 sheets(3).cells(k, j).value = sheets(1).cells(i, j).value next j end if next i '以下是匯入第二個工作表也就是保養品 sheets(2).select for i = 2 to sheets(2).[a65536].end(xlup).row + 1 if cells(i, 4) <> "" then k = sheets(3).[a65536].end(xlup).row + 1 for j = 1 to 5 sheets(3).cells(k, j).value = sheets(2).cells(i, j).value next j end if next i sheets(3).select end sub