如何根据vba中的组合框选择获取单元格?

时间:2018-03-20 04:32:55

标签: excel vba excel-vba

我有这样的excel表:

enter image description here

我也有这样的用户形式:

enter image description here

因此,如果用户从a选择说side,又从aa选择top,则表单应显示1,2,3,4中与其对应的所有项目在此textbox下的combo box中 即,将有四个值为s,qr,q,eef

的文本框

我该怎么做?

1 个答案:

答案 0 :(得分:1)

这里有一些伪代码可以作为起点使用。我假设 top 下拉列表返回0到3之间的整数, side 下拉列表返回整数,例如1表示a,2表示b等。 ..然后代码将使用offset函数正确定位单元格,以便每个文本框从正确的单元格中获取文本。例如,如果side = 1且top = 0,则Textbox1的单元格将是A2偏移1行,1列的一个单元格,如果side = 2且top = 1,则Textbox1的单元格将是A2乘2行和5列。如果您有疑问,请告诉我。

Option Explicit
Sub test()
Dim r As Range, side As Integer, top As Integer
Set r = Range("A2")
Textbox1 = r.Offset(side, top * 4 + 1)
TextBox2 = r.Offset(side, top * 4 + 2)
TextBox3 = r.Offset(side, top * 4 + 3)
TextBox4 = r.Offset(side, top * 4 + 4)
End Sub