首页 > 解决方案 > 用vba中的最小行范围填充范围并继续下一行

问题描述

我试图想办法在 excel vba 中执行以下两个条件。

  1. 以 1 的增量将值添加到行范围。
  2. 每个增量应该从一个跳过的单元格开始,下一次迭代从空单元格开始
  3. 下一行的起点应该是前行的列总和的最小值

下面的代码给出了以下输出 - 在此处输入图像描述

Sub main()

Dim need, lines, oldLines As Integer
Dim TS, shift As String
Dim minRange As Range
Dim i, j, k, l As Integer
    lines = 0
    Range("J1").Select
Do Until ActiveCell.Value = ""
    Select Case TS
          Case ActiveCell.Offset(1, -7).Value = 2
           need = ActiveCell.Offset(1, 8).Value
                      
         Do Until need = 0
           For i = 1 To 7 Step 2
               oldLines = ActiveCell.Offset(1, i).Value
               oldLines = oldLines + 1
               ActiveCell.Offset(1, i).Value = oldLines
                need = need - 1
               If need = 0 Then Exit For
           Next i
           
         Loop
    
    End Select
     ActiveCell.Offset(1, 0).Select
    
Loop
    
    MsgBox "Done!"
End Sub

可以修改代码以实现如下所示 -

在此处输入图像描述

谢谢!

标签: excelvba

解决方案


推荐阅读