2017-04-15 78 views
1

我创建了一个引用工作簿。 每页有8张产品,数量/描述/单位/总数,我们通过将需要的项目的数量放入栏A中来建立产品选择。Excel添加行,继续

我想创建一个Main如果数量不是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 
+1

这是不是一个“代码对我来说“(甚至是一个”我的公司的代码,这些代码太便宜了,不能付钱去做这件事“)网站。请至少从自己的代码开始,然后,如果/如果遇到特定问题,请回过头来问一个我们可以回答的具体问题 - 我们将非常乐意为您提供帮助。 – YowE3K

+0

我明白了,我一直在尝试自己做。我有单独的宏,但我无法弄清楚如何把它放在一起。我只是想要一些帮助,我并不是为我完成的。 – adams

+0

如果您已经完成了一些工作,请发布您提供的代码。这样我们可以**帮助您解决您遇到的问题。 (问题中没有任何代码的问题是有数百种方法可以实现任何特定的任务,但是其中只有少数几种方法可以轻松地集成到您的代码中。如果我们可以看到您编写的代码,我们可以将建议限制为对您有用的建议。) – YowE3K

回答

0

如果你正在试图做的一切是从具有非空白或非零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 
+0

这是完美的工作。 – adams

+0

这与我所希望的几乎完全一致。但我一直在试图做出2个小调整,我希望能够做到。我已经玩了一段时间的代码,但我无法得到它的工作。 首先,我希望在任何时候任何QTY单元格被更改时自动运行宏。 其次,如果数量更改回0,是否有办法将该行从工作表“完成”中删除? – adams