2016-07-21 84 views
0

我正在使用下面的代碼將數據從一張紙張插入其他紙張。但是,這個表格似乎被顛倒過來了。如何從下往上,而不是頂部底部Excel以相同順序將數據從一張紙張插入其他紙張

閱讀代碼:

Sub InsertData() 
    Dim dc As Range 
    With Sheets("Open Tickets") 
     For Each dc In Intersect(.Range("J:J"), .UsedRange) 
      If dc.Value2 >= 14 Then 
       dc.Resize(1, 1).EntireRow.Copy 
       Sheets("Dashboard").Rows(6).Insert Shift:=xlDown 
      End If 
     Next 
    End With 
End Sub 
+0

I guess:Sheets(「Dashboard」).Rows(6).Insert Shift:= xlUp? –

+0

沒有運氣,不起作用。 – Arihant

+0

爲什麼你必須將它插入第6行?有特殊要求嗎? – L42

回答

1

如果你總是6行之前插入,換擋連續6向下,那麼第一個刀片將是第6行,將第6行的舊內容向下移動。第二個插件也將位於第6行,向下移動第一個插件。第三個插入也將在第6行,向下移動第二個和第一個插入,等等。

你應該有一個行計數器。像這樣:

Sub InsertData() 
    Dim dc As Range 
    Dim lRow As Long 
    lRow = 6 
    With Sheets("Open Tickets") 
     For Each dc In Intersect(.Range("J:J"), .UsedRange) 
      If dc.Value2 >= 14 Then 
       dc.Resize(1, 1).EntireRow.Copy 
       Sheets("Dashboard").Rows(lRow).Insert Shift:=xlDown 
       lRow = lRow + 1 
      End If 
     Next 
    End With 
End Sub 
+0

謝謝,它的工作原理。還有一個問題,如果我每次運行宏,它每次都會創建表。是否可以刪除每個宏運行前複製的現有表 – Arihant

+0

是指刪除行6直到最後一行? '表格(「儀表板」)。範圍(「6:1048576」)刪除' –

+0

不,只有從其他工作表複製的數據.. – Arihant

相關問題