Excel 用户表单列表框标题帮助

问题描述 投票:0回答:0

我目前正在构建一个 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

结束子

我试过以下

  1. 将 Columnheads 设置为 true,将 columncount 设置为 13.
  2. 在VBA代码中添加列头和列数
  3. 参考这个youtube视频看,我在VBA编辑器中找不到激活。

我希望 B2 到 N2 中的标题永久显示并且无法单击。正如我有一个声明,如果单击某些内容,它应该将数据拉到另一个框架中。

excel vba listbox userform
© www.soinside.com 2019 - 2024. All rights reserved.