使用多个组合框选择单元格

时间:2018-06-05 05:27:35

标签: excel vba excel-vba

我正在尝试在Excel中创建一个简单的用户表单,以输入工作人员执行某项任务的日期。我有一个电子表格,列出了B栏下的所有员工,我列出了第5行的所有任务。

我已经创建了一个带有几个组合框的表单,因此我可以选择工作人员并选择任务。还有一个文本框,我将在其中输入日期。

我需要的是当我点击“提交”按钮时,它会将文本框中包含的日期输入到组合框中2个选项定义的单元格中。如果其中任何一个组合框未选中任何内容,则单击该按钮时不应将任何数据输入电子表格。

Dim nameRow As Integer 
Dim job1col As Integer 
nameRow = cbxStaffName.ListIndex + 6 
job1col = cbxJob1.ListIndex + 3 
ThisWorkbook.Sheets("Job Rotation").Cells(nameRow, job1col).Value = tbxDate.Value 

包含人员名称列表的组合框称为cbxStaffName。包含作业的组合框是cbxJob1。包含我要输入的日期的文本框名为tbxDate

组合框中已填充了电子表格中存在的数据,只需在左侧列出名称,在顶部列出作业。如果例如Jim完成了作业welding,我想从一个组合框中选择Jim,请从另一个框中选择welding,当我点击该按钮时,日期就会消失进入电子表格中的那个单元格。

1 个答案:

答案 0 :(得分:0)

您只需要一个If语句来检查两个复选框是否都有值:

If cbxStaffName.Value <> vbNullString And cbxJob1.Value <> vbNullString Then
    'write into cell
Else
    MsgBox "Please select staff and job first"
End If

或者,如果未选择任何内容,您可以查看ListIndex应该是-1

请注意,我建议使用always use Long instead of Integer,尤其是在处理行计数时。 Excel的行数多于Integer可以处理的行数。