close

4210

Excel將多張工作表指定欄位不為空白的資料複製到另一張工作表中-VBA

我想製作一個多個工作表的訂購單,自動將各工作表有下單的品項集中到另一個工作表中。

imageimageimage

函數公式

步驟1:按ALT+F11鍵,開啟「VBA視窗」。

步驟2:點取「插入 > 模組」指令,插入一張空白模組表。

步驟3:輸入下列程序。

Sub TEST4210()

Range("A2:E999").Delete                        '先清空目前工作表中資料

For i = 1 To Worksheets.Count - 1                  '設定I值為1到整個活頁簿所有工作表(扣除最右邊那張工作表)

  Set s = Sheets(i)                               '指定要處理的工作表

  For j = 2 To s.Range("B1").End(xlDown).Row       '框選第2列到所有含有資料的列

     If s.Range("E" & j).Value <> "" Then           '如果E欄含有數量就執行下列程序

        s.Range(j & ":" & j).Copy                 將目前列內容複製

        x = ActiveSheet.UsedRange.Rows.Count + 1  '設定X值為目前列加1

        Range("A" & x).Select                    '將目前所在列A欄儲存格選取

        Range("A" & x).PasteSpecial               '將複製資料貼上

     End If                                     '結束IF判斷式

  Next j                                        'J變數值加1

Next i                                          'I變數值加1

End Sub                                        '結束程序

image

步驟4:按ALT+F4鍵關閉VBA視窗。

步驟5: 點取「檢視 > 巨集 > 檢視巨集」指令。

image

步驟6: 點取「TEST4210」項目,再點取「執行」鈕。

image

步驟7:結果如下


arrow
arrow
    文章標籤
    VBA
    全站熱搜

    錦子老師 發表在 痞客邦 留言(0) 人氣()