我目前正在构建一个 excel 用户表单,我可以在其中搜索我标记的工作表中的结果,然后我可以选择要跨列编辑的数据。这是我第一次使用用户表单,所以这对我来说是相当新的。
我已经弄清楚了列表框的功能方面,但在显示它时遇到了困难。工作表有 13 列,我需要显示,但当前代码只有我一些,并且无法显示对齐方式和标题。我试图添加它,但它不会按照我希望的方式出现。是否有人对我可以做些什么来使标题(它们在 B2 到 N2 中)不断显示并让我搜索时显示的数据显示在列中有任何更正或提示?
这里是 VBA 代码。
私有子列表框_Click()
将 ws 调暗为工作表
昏暗 lastRow 一样长,我一样长
昏暗的匹配发现为布尔值
Set ws = ThisWorkbook.Worksheets("sheet1")
lastRow = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
If listbox.ListIndex <> -1 Then
For i = 3 To lastRow
If listbox.List(listbox.ListIndex) = ws.Cells(i, 2) & vbTab & ws.Cells(i, 3) & vbTab & ws.Cells(i, 10) Then
matchFound = True
column1.Text = ws.Cells(i, 2).Value
column2.Text = ws.Cells(i, 3).Value
column3.Text = ws.Cells(i, 4).Value
column4.Text = ws.Cells(i, 5).Value
column5.Text = ws.Cells(i, 6).Value
column6.Text = ws.Cells(i, 7).Value
column7.Text = ws.Cells(i, 8).Value
column8.Text = ws.Cells(i, 9).Value
column9.Text = ws.Cells(i, 10).Value
column10.Text = ws.Cells(i, 11).Value
column11.Text = ws.Cells(i, 12).Value
column12.Text = ws.Cells(i, 13).Value
column13.Text = ws.Cells(i, 14).Value
' Store the row number in the worksheet to be used when edit button is clicked
selectedRow = i
Exit For
End If
Next i
End If
If Not matchFound Then
For Each ctl In Frame2.Controls
If TypeOf ctl Is MSForms.TextBox Then
ctl.Value = ""
End If
Next ctl
End If
结束子
我试过以下
我希望 B2 到 N2 中的标题永久显示并且无法单击。正如我有一个声明,如果单击某些内容,它应该将数据拉到另一个框架中。