输入框值插入右侧行中的下一个空单元格

时间:2016-08-24 13:35:43

标签: vba excel-2013

如果数据已存在,我试图向右侧的下一个空单元格添加来自用户表单文本框的数据。如果“E1”具有日期,则添加到“F1”,依此类推,但只有“E1:S1”范围。

以下是该报告的屏幕截图:

enter image description here

这是我到目前为止所得到的(但它以E1结尾):

Private Sub CommandButton1_Click()

    If Range("E1") = "" Then Range("E1") = UserForm2.TextBox1.Value Else
    Range("E1").End(xlToRight) = UserForm2.TextBox1.Value
    If Range("E2") = "" Then Range("E2") = UserForm2.TextBox2.Value Else
    Range("E2").End(xlToRight) = UserForm2.TextBox2.Value
End Sub

1 个答案:

答案 0 :(得分:1)

结束(xlToRight只到达填充的单元格的末尾而不是下一个打开的单元格。在找到最后一个填充的单元格之后,需要再移动一列。使用单元格(),我优先盯着最远的列然后回来。

Private Sub CommandButton1_Click()

    If Range("E1").Value = "" Then Range("E1").Value = UserForm2.TextBox1.Value Else
    Cells(1, Cells(1, Columns.Count).End(xlToLeft).Column + 1).Value = UserForm2.TextBox1.Value
    If Range("E2").Value = "" Then Range("E2").Value = UserForm2.TextBox2.Value Else
    Cells(2, Cells(2, Columns.Count).End(xlToLeft).Column + 1).Value = UserForm2.TextBox2.Value
End Sub