通过 Textbox1 将值更新为列的第一个空单元格

Updating Value to First Empty cell of Column via Textbox1

我一直在使用下面的一段代码,将 TextBox1 值添加到 Col"B"Col"L" 两列的第一个空单元格 1 is table columnsecond is range column。两者都来自不同的工作表。

但是收到一个错误Object does not support this property and range

任何帮助将不胜感激。

        Private Sub CommandButton1_Click()
        
Sheet37.ListObjects("Table14").ListColumns("Condition").End(xlDown).Offset(1, 0).Value = TextBox1.Value
        
Sheet5.Range("L2").End(xlDown).Offset(1, 0).Value = TextBox1.Value

ActiveCell.Value = TextBox1.Value
        
    Unload Me
        End Sub

当我看到 Unload Me 时,我假设您正在使用 Userform 在 excel sheet 上写入数据,在您的情况下,错误发生是由于你没有提到 textbox 所在的位置:

所有 3 个 VBA 都丢失了 me.,它们引用了您创建的 userform

Sheet37.ListObjects("Table14").ListColumns("Condition").End(xlDown).Offset(1, 0).Value = me.TextBox1.Value
        
Sheet5.Range("L2").End(xlDown).Offset(1, 0).Value = me.TextBox1.Value

ActiveCell.Value = me.TextBox1.Value

如果你还不清楚如何linkUserform-textbox-excel,你可以参考我的简单说明linkCan't update a table with vba

要更新 ListObject Table 上的值,您可以使用以下方法,因为我们需要使用 databodyrange 才能访问 Listobject 中的 cell

Sub submit()

Dim tb1 As ListObject
Dim s As Long

Set tb1 = Sheet2.ListObjects("Table1")
s = tb1.ListRows.Count

tb1.DataBodyRange.Cells(s + 1, 1) = Me.TextBox1.Value

Unload Me

End Sub