我有一个带有文本字段的用户表单,单击表单上的“保存”按钮后,可以将字段的值保存到工作表中的新行。这个过程是有效的,但我今天打开表单,现在它抛出以下错误消息。
当我单击“调试”时,它会将我带到以下代码行。
当我将鼠标悬停在语句上时,它已正确捕获该字段的值。
我不明白为什么它会在工作后随机开始抛出此错误。有人有想法吗?
我已经花了几个小时试图解决这个问题。如果有人想看一下整个工作簿和 Visual Basic 代码,那么我非常乐意将其发送给您。
请帮忙!
您已将范围转换为表格,并且正在尝试向该表格添加数据。首先使用
ListRows.Add
添加新行,然后添加值。
这就是你正在尝试的吗?
Private Sub WriteDataToSheet()
Dim newRow As Long
Dim status As String
status = GetFeaturedStatus
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Hiring Events Listing")
Dim Tbl As ListObject
Set Tbl = ws.ListObjects("Table3")
With ws
newRow = .Cells(.Rows.Count, 1).End(xlUp).row
Tbl.ListRows.Add Position:=newRow - 1
.Cells(newRow, 1).Value = txtEventName.Value
.Cells(newRow, 2).Value = txtEventDate.Value
.Cells(newRow, 3).Value = txtLocationNme.Value
.Cells(newRow, 4).Value = txtStreetAddress.Value
.Cells(newRow, 5).Value = txtCity.Value
.Cells(newRow, 6).Value = txtState.Value
.Cells(newRow, 7).Value = txtZip.Value
.Cells(newRow, 8).Value = txtStart.Value
.Cells(newRow, 9).Value = txtEnd.Value
.Cells(newRow, 10).Value = txtPositionsHiring.Value
.Cells(newRow, 11).Value = txtLocationsHiring.Value
.Cells(newRow, 12).Value = status
End With
End Sub