我试图到处寻找这种解决方案,但找不到。
我正在尝试构建一个用户表单以输入新行(标头后的第一行)。
用户窗体包含6个字段,其中4个是组合框(列表)和2个文本框。
我运行脚本时,它停留在以下行:Set ssheet = ThisWorkbook.Sheets("Sheet1")
请在下面找到我的代码:
Private Sub CommandButton1_Click()
Dim ssheet As Worksheet
Set ssheet = ThisWorkbook.Sheets("Sheet1")
nr = ssheet.Cells(Rows.Count, 1).End(x1Up).Row + 1
ssheet.Cells(nr, 1) = Me.tbNAME
ssheet.Cells(nr, 2) = Me.cmbStatus
ssheet.Cells(nr, 3) = Me.cmbFunds
ssheet.Cells(nr, 4) = Me.cmbDD
ssheet.Cells(nr, 7) = Me.cmbDistributor
ssheet.Cells(nr, 8) = Me.tbComments
End Sub
Private Sub UserForm_Initialize()
Me.tbDate = Date
For Each blah In [StatusList]
Me.cmbStatus.AddItem blah
Next blah
For Each blah In [FundsList]
Me.cmbFunds.AddItem blah
Next blah
For Each blah In [DDList]
Me.cmbDD.AddItem blah
Next blah
For Each blah In [DistributorList]
Me.cmbDistributor.AddItem blah
Next blah
End Sub
如果您能帮助我解决这个问题,那太好了,为行添加6个字段似乎很容易,但随后它就卡住了。
谢谢!, 亚历克斯
答案 0 :(得分:1)
使用线路时:
Set ssheet = ThisWorkbook.Sheets("Sheet1")
确保"Sheet1"
实际上是工作簿上工作表的名称
根据您的评论,您可以使用:
Set ssheet = ThisWorkbook.Sheets(1)
或Set ssheet = ThisWorkbook.Sheets("Master Log")
并针对以下行:
nr = ssheet.Cells(ssheet.Rows.Count, 1).End(xlUp).Row + 1