在表中查找第一个可用空行的方法不起作用

问题描述 投票:0回答:0

我通常会犹豫是否使用表格,但这次是由于许多与工作相关的原因,我必须使用表格。因此,现在我正在将范围代码转换为表修改代码,并且我遇到了很多问题,我每天都在解决这些问题。 但这一点让我很恼火。这是一段代码,用于查找表列的最后一个完整行,并将数据从我的用户表单文本框插入到下一行(该行为空以接收数据)。

Private Sub but_spl2addweld_Click()

    Dim sh As Worksheet
    Set sh = ThisWorkbook.Sheets("PL2_steel")
    
    Dim tbl As ListObject
    Set tbl = ThisWorkbook.Sheets("PL2_steel").ListObjects("Tbl_spl2weldings")

    Dim y As Long
    Dim lr As Long

    Ir = sh.ListObjects("Tbl_spl2weldings").Range.Columns(1).Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row 

       With tbl
        If Me.Combo_SPL2weldoptions.Value = "Option 1_ Base material-Filler material" Then
         .DataBodyRange(lr + 1, 1).Value = "pl2.St." & Me.txt_SPL2code.Value
         .DataBodyRange(lr + 1, 2).Value = Me.Txt_spl2weldid.Value
         .DataBodyRange(lr + 1, 3).Value = Me.Combo_SPL2weldoptions.Value

        End If
       End With
       
 End Sub

我尝试了许多不同的方法来找到第(1)列“Ir”的最后一个完整行,并将新数据放入下一行,该行是空的“Ir+1”,就像在范围系统中一样。但没有什么能如我所愿。例如,当前代码,无论第 1 列是满还是空,都将新数据始终放在同一行(即标题后的第二行)中。

excel vba row
© www.soinside.com 2019 - 2024. All rights reserved.