当前位置:首页经验技巧Excel经验excel技巧

电子表格我在EXCEL里的VB编写了一个查询窗体,请问怎么写代码?

2026-01-18 11:52:54

1.我在EXCEL里的VB编写了一个查询窗体,请问怎么写代码?

Option Explicit

Dim arr, brr, i As Long

Private Sub ComboBox1_Change()

Dim R As Long

ListBox1.Clear

R = WorksheetFunction.Match(ComboBox1.Text, brr, 0) + 2

For i = 2 To UBound(arr, 2) Step 2

With ListBox1

.AddItem arr(2, i)

.List(.ListCount - 1, 1) = arr(R, i)

.List(.ListCount - 1, 2) = arr(R, i + 1)

End With

Next

End Sub

Private Sub UserForm_Initialize()

arr = Range("A1").CurrentRegion

brr = Range("A3:A" & UBound(arr))

ComboBox1.List = brr

ComboBox1.ListIndex = 0

With ListBox1

.ColumnCount = 3

.ColumnWidths = "72;100;120"

End With

End Sub

对照修改单元格及数据即可。

2.excel 表格通过按钮选择调用其他工作表

代码:

Private Sub CommandButton1_Click()

Dim i As Integer

i = Application.WorksheetFunction.CountA(Worksheets("sheet1").Range("A:A"))

Dim number

number = i

Select Case number

Case 10

Worksheets("sheet2").Select

Case 15

Worksheets("sheet3").Select

End Select

End Sub

——————————————————————————————

假如你的数据都在sheet1的A列,按钮名称为CommandButton1_Click,要跳转的工作表名分别为sheet2和sheet3。

可以通过Excel的“窗体”中,建立一个按钮来完成,然后在设计模式下双击这个按钮,会打开VBA编辑器,把上述代码复制进去即可。

要详细了解各语句含义,请再交流。

代码中,sheet1等名称可根据你的工作表更改,若工作表名称不明确,可以用“ActiveSheet.Next.Select”来选中下一工作表,效果等同于ctrl+pagedown组合键。


电脑版

免责声明:本站信息来自网络收集及网友投稿,仅供参考,如果有错误请反馈给我们更正,对文中内容的真实性和完整性本站不提供任何保证,不承但任何责任,谢谢您的合作。
版权所有:五学知识网 Copyright © 2015-2026 All Rights Reserved .