【发布时间】:2014-11-18 08:46:35
【问题描述】:
早上好,
我又陷入了另一个困境,需要一些帮助。我创建了一个用户表单,允许用户删除第二张工作表(原始数据)上的整行数据。使用下面的代码一切正常,但组合框仅显示行号。我迫切需要更改列,以便显示需要删除的行的项目名称。
例子:
Row: Project
1 Alpha
2 Beta
我希望组合框显示 Alfa 和 Beta,并让用户能够根据该标准选择他们想要删除的行。
下面的代码将取消隐藏,然后隐藏我希望进行此删除的工作表。这是有目的的。
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim lRw As Long
ActiveWorkbook.Sheets("RAWDATA").Visible = xlSheetVisible
'get the row number. add 1 because ListIndex starts at zero
lRw = Me.ComboBox1.ListIndex + 1
ActiveWorkbook.Sheets("RAWDATA").Select
Cells(lRw, 1).EntireRow.Delete
ActiveWorkbook.Sheets("RAWDATA").Visible = xlSheetHidden
End Sub
Private Sub CommandButton1_Click()
End Sub
Private Sub UserForm_Initialize()
'assumes data starts in A1 and has a header row
Me.ComboBox1.List = ActiveWorkbook.Sheets("RAWDATA").Cells(1, 1).CurrentRegion.Offset(1).Value
End Sub
感谢您的帮助!
【问题讨论】:
-
你有一个名为“行”的列吗?
-
您只需要更改
ComboBox属性中的列数,然后将链接范围也更改为2列。
标签: excel vba userform combobox