在vba中循环和插入行

时间:2015-03-06 07:30:10

标签: vba excel-vba excel

我是vba的新手。我不知道如何循环和插入行。我一直在寻找谷歌,但其中许多只是让我看到一个选定/激活范围循环不是我想要的。这是我的情况:

我有一个字段存在于另一张这样的

month        value
4            300.000
1            120.000
5            1.500.000

我有新的数据有条件,如果月数= 12,它会将月份循环到12并除以值/ 12

month = 12
value = 12.000.000
result = 12.000.000 / 12 = 1.000.000

,结果将从最后一行继续,如下所示

month        value
4            300.000
1            120.000
5            1.500.000
1            1.000.000
2            1.000.000
3            1.000.000
4            1.000.000
5            1.000.000
6            1.000.000
.
.
.
12           1.000.000

我在我的代码中这样做

Private Sub AddPostClick_Click()
    Dim lRow As Long
    Dim ws As Worksheet
    Set ws = Worksheets("DATA")
    Dim i As Integer

    lRow = ws.Cells.Find(What:="*", SearchOrder:=xlRows, _
        SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1

    With ws
            If CheckBox1.Value = True Then
               .Cells(lRow, 6).Value = txtValue.Value
            End If

            If CheckBox1.Value = False Then
                For lRow = 1 To 12
                    .Cells(lRow + 1, 6).Value = txtValue.Value
                Next lRow
            End If
    End With
    End Sub
问题是,这个单元格没有插入到最后一行。

1 个答案:

答案 0 :(得分:0)

尝试使用以下代码查找最后一行之后的行。将“范围”更改为列 - 我认为它是第六列,“F” - 您在其中查看。

Dim lRange As Range

Set lRange = Worksheets("Sayfa2").Range("F1:F1000").Find(What:="*", _
SearchOrder:=xlRows, _ 
SearchDirection:=xlPrevious, LookIn:=xlValues)

If Not lRange Is Nothing Then lRow = lRange.Row + 1