ComboBox 按键并将数据从 Excel 用户表单传输到工作表

ComboBox 按键并将数据从 Excel 用户表单传输到工作表

我正在尝试使用 excel 创建一个小型库存系统,我想使用宏来添加新记录。我的表格和用户表单已经准备好了,但是我遇到了几个问题。

首先,我无法“锁定”我的组合框。我尝试通过其属性锁定它,但结果是我现在无法从列表中选择一个项目。(组合框是预先填充的)。我的工作表中有一个按钮(添加新记录),它包含一个代码:

UserForm1.ComboBox1.List = Array("HO", "SI", "SV", "PTSF")
UserForm1.ComboBox2.List = Array("AP", "FU", "GE", "IT")
UserForm1.Show

在我的组合框上:

Private Sub ComboBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 8 Or KeyAscii = 127 Then
KeyAscii = 0
Else
End If
end sub

我的组合框上的代码不起作用,我想要锁定它,这样就无法输入或编辑任何内容。

第二个问题是我不知道如何调用我的表,并将用户窗体上的数据插入其中。我之前试过这个:

sheet1.table1.Lastrow = userform1.textbox1.value

但显然它不起作用:(

我希望有人能帮助我。提前谢谢!

答案1

我已经用以下代码解决了我的问题:

Dim ws As Worksheet
Dim lo As ListObject
Dim lr As ListRow

Set ws = Sheets("HO Database")
Set lo = ws.ListObjects(1)
Set lr = lo.ListRows.Add

lr.Range(1, 1).Value = Me.ComboBox2.Value
lr.Range(1, 2).Value = Me.ComboBox1.Value
lr.Range(1, 3).Value = Me.TextBox9.Value
lr.Range(1, 4).Value = Me.TextBox1.Value
lr.Range(1, 5).Value = Me.TextBox2.Value
lr.Range(1, 6).Value = Me.TextBox3.Value
lr.Range(1, 7).Value = Me.TextBox4.Value
lr.Range(1, 8).Value = Me.TextBox5.Value
lr.Range(1, 9).Value = Me.TextBox6.Value
lr.Range(1, 10).Value = Me.TextBox7.Value
lr.Range(1, 11).Value = Me.TextBox8.Value

希望有人能发现这很有用。

相关内容