如何仅在vba中的范围内添加值

时间:2014-06-10 01:46:54

标签: vba excel-vba excel

我是VBA的新手。我有以下代码向excel中的单元格添加条目。 这里的问题是我如何修改我的代码,以便一旦达到C16,添加条目范围将停止?并且下次执行此代码时,起始范围仍将是C5,将值替换为C16。

我尝试使用每个循环,但我的itemTb.value对于整个范围都是相同的,我不希望它。

请告知。

Private Sub addButton_Click()

    Range("C5").Select

    Do Until ActiveCell.Value = Empty
        ActiveCell.Offset(1, 0).Select
    Loop

    ActiveCell.Offset(0, 0).Value = Me.itemTb.Value

    Me.itemTb.Value = Empty
    Me.itemTb.SetFocus

End Sub

1 个答案:

答案 0 :(得分:0)

这样的事可能吗?将范围存储在公共变量中(应该在运行时持续存在)。

Public addRng as Range

Private Sub addButton_Click()

If addRng Is Nothing Then
    Set addRng = Range("C5")
Else
    Set addRng = addRng.Offset(1, 0)
    If addRng.Row > 16 Then
        'You may also want to unload the form, or use a message box
        ' to tell the user what is happening here
        Set addRng = Nothing
        Exit Sub
    End If
End If

addRng.Value = Me.TextBox1.Value

Me.itemTb.Value = Empty
Me.itemTb.SetFocus

End Sub