簡體   English   中英

Excel添加行,繼續

[英]Excel add row, continue on

我創建了一個引用工作簿。 每張產品有8張產品,QTY / DESCRIPTION / UNIT / TOTAL,我們通過將所需產品的QTY放入col A,在每張紙上構建產品選擇。

我想創建一個Main表,只有在QTY不為0時才會拉動其他工作表上的項目。我創建了基本公式,這樣如果數量為0,則該行為空,如果不是,則填充相應的數據,但這里是我被困的地方。

基本上我希望Main表能夠像它一樣完成公式,但要繼續向下移動,然后轉到下一個表(下一頁)並繼續。 我也希望它沒有任何空行。 這可能嗎?

當前代碼:

Sub delblankrows()

Dim s1 As Worksheet
Dim tmpR As Range
Dim rowcount As Long, colcount As Long, i As Long, j As Long, k As Boolean

Set s1 = Sheets("Complete")
Set tmpR = s1.UsedRange
rowcount = tmpR.Rows.Count
colcount = tmpR.Columns.Count

For i = rowcount To 1 Step -1
    k = 0
For j = 1 To colcount
    If tmpR.Value2(i, j) <> "" Then
        k = 1
        Exit For
    End If
Next j

End Sub

如果您要做的就是從具有非空白或非零QTY(假設在“A”列中)的其他工作表中提取行(單元格值而不是公式),那么以下將執行那。 但是從你的問題陳述中你可能除此之外還可以做些什么。 此代碼假定您在每個工作表上都有一個標題行,並且數據從第2行開始。它還假定您只有“A”到“D”列中的數據:

Option Explicit

Sub AddRowContinueOn()
  Dim ws As Worksheet, cws As Worksheet
  Dim cLRow As Integer, sLRow As Integer

  Set cws = Worksheets("Complete")
  cLRow = cws.Cells(cws.Rows.Count, "A").End(xlUp).row + 1

  Dim i As Integer, val As Integer
  For Each ws In ActiveWorkbook.Worksheets
    If ws.Name <> "Complete" Then
      sLRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).row
      For i = 2 To sLRow
        val = CInt(ws.Cells(i, "A").Value)
        If val <> 0 Then
          cws.Range("A" & cLRow & ":D" & cLRow).Value = ws.Range("A" & i & ":D" & i).Value
          cLRow = cLRow + 1
        End If
      Next
    End If
  Next

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM