[英]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.