Excel VBA - 需要对单元格1-3或1-4进行编号,然后根据相应的单元格再次进行中断

时间:2014-10-29 15:34:58

标签: excel vba excel-vba

Excel中的VBA新手,希望得到一些快速的帮助。

我有一张Excel表格,其中包含3个或4个问题的块,这些块在F列中。

我需要在C栏中对这些问题1-3或1-4进行编号,因此编号将从' 1'开始。在第2行,其中第一个问题出现在F列中,然后向下迭代,直到有一个空行,其中一个块已经结束,然后当下一个块从下面开始时,插入col C的数字再次从1开始并向下迭代到这个块的末尾,依此类推。

要求基本上是:'如果F列中有一行文字,则在C列中输入升序号,从' 1'重新开始。在col F'

中的每次休息之后

过解释?大概。但请帮忙!

2 个答案:

答案 0 :(得分:0)

这一切都可以通过公式来完成。

  1. 在单元格C1中输入值1
  2. 在单元格C2中,输入公式:= IF(F2 =“”,“”,IF(F1 =“”,1,C1 + 1))
  3. 然后将其拖下来。

    希望能有所作为!!!

答案 1 :(得分:0)

Sub qnum()

Dim ws As Worksheet
Dim startRow As Long, endRow As Long, qCol As Long, nCol As Long
Dim qnum As Long

Set ws = Sheets("Sheet1")
qCol = 6
nCol = 3
startRow = 2

    With ws
        endRow = Cells(Rows.Count, qCol).End(xlUp).Row
            For q = startRow To endRow
                qnum = 1
                Do While Not .Cells(q, qCol) = ""
                    .Cells(q, nCol) = qnum
                    qnum = qnum + 1
                    q = q + 1
                Loop
            Next q
    End With

End Sub