我有一个Excel VBA用户窗体,我无法工作 . 第一个组合框需要链接到相关表(年份) . 然后,第二个组合框或列表框将在所选工作表的第一列(月份)中获取数据,然后输入数据并显示在相关行的相关工作表中 . 我的编码是基本的,我的引用是错误的,你能帮忙吗?
这是有效的,它将它放在正确的工作表中,但不在右边的行(组合框2)中:
Private Sub CommandButton1_Click()
With ThisWorkbook.Worksheets(cboTest.Value)
.Range("D2").Value = nightElec
.Range("F2").Value = dayHeat
.Range("G2").Value = nightHeat
.Range("I2").Value = dayWater
.Range("J2").Value = nightWater
dayElec = Empty
End With
End Sub
1 回答
如何将其用作用户表单的代码:
然而,这只是许多方法中的一种方式 . 在这里,我假设您没有以任何其他形式保存您的工作表名称 - 例如数组 - 并且需要获取新信息 .
此外,这只是用户表单初始化的例程 - 而不是更新 .
现在您可以使用
InitCbo
来更新组合框 . 就像点击按钮或添加新工作表一样 .您可能也对
List
属性感兴趣,因为您也可以使用它设置项目 - 就像在这个excel-help示例中一样:我知道,这是一个ListBox的例子 - 但据我所知,它也适用于ComboBox或至少是simmilar .
编辑:
您粘贴的代码将始终使用活动工作簿和活动工作表,因此
Range("C2").Value = dayElec
不会更改列表/组合框的selceted工作表的值 .您需要将其修改为: