我有一个包含三列的Excel文件。每行都是唯一的。有三个组合框对应于这三列。
当第一个组合框中的选项被选中时,我希望第二个组合框填充来自第二列的项目,这些项目对应于第一个组合盒中的选择。即:
< code>-亚当|苹果|种子
-亚当|苹果|核心
< code>- Adam | Orange | Peel
< code>- Jess |香蕉|果皮
- 杰西|芒果|纸浆
-Jess|橙色|种子
这里第一列有数据Adam, Jess。第一个组合框已经有两个唯一的选项Adam和Jess。
一旦用户选择了Adam或Jess,第二个组合框应该填充相应的水果名称。
示例组合框1=亚当
然后combobox2 ={Apple,Orange}
当苹果/桔子被选中时,第三个组合框应该有与前两个组合框相对应的选项。
请注意,我的第一个组合框已经正确填充了数据:
Function UniqueList()
'Populate control with
'unique list.
Range("Names").AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("uniqueNames"), Unique:=True
'Set combo control's Row Source property.
Range("uniqueNames").RemoveDuplicates Columns:=1, Header:=xlNo
UserForm1.uniqueNameList.RowSource = Selection.CurrentRegion.Address
'Display user form.
UserForm1.Show
Selection.CurrentRegion.Clear
End Function
编辑:我基本上需要这样说:用第二行的单元格填充第二个组合框,其中第一行等于combobox1。
假设您在sheet1中有数据:
1-您可以使用combox_Change事件处理程序跟踪用户从组合框中选择新值的时间。
2-组合框列表索引:这将为您提供组合框中当前选定的索引
Combobox.list:包含组合框中所有项目的数组
Private Sub ComboBox1_Change()
Dim strValue As String
Dim i As Integer
If ComboBox1.ListIndex <> -1 Then
strValue = ComboBox1.List(ComboBox1.ListIndex)
ComboBox2.Clear
ComboBox3.Clear
For i = 1 To 6
If Cells(i, 1) = strValue Then
If exists(ComboBox2, Cells(i, 2)) = False Then
ComboBox2.AddItem (Cells(i, 2))
End If
If exists(ComboBox3, Cells(i, 3)) = False Then
ComboBox3.AddItem (Cells(i, 3))
End If
End If
Next i
Else
ComboBox2.Clear
ComboBox3.Clear
End If
End Sub
Private Sub ComboBox2_Change()
Dim strValue1 As String
Dim strValue2 As String
Dim i As Integer
If (ComboBox2.ListIndex <> -1) And (ComboBox1.ListIndex <> -1) Then
strValue1 = ComboBox2.List(ComboBox2.ListIndex)
strValue2 = ComboBox1.List(ComboBox1.ListIndex)
ComboBox3.Clear
For i = 1 To 6
If (Cells(i, 2) = strValue1) And (Cells(i, 1) = strValue2) Then
If exists(ComboBox3, Cells(i, 3)) = False Then
ComboBox3.AddItem (Cells(i, 3))
End If
End If
Next i
Else
ComboBox3.Clear
End If
End Sub
Private Sub UserForm_Initialize()
Dim i As Integer
For i = 1 To 6
If exists(ComboBox1, Cells(i, 1)) = False Then
ComboBox1.AddItem (Cells(i, 1))
End If
Next i
End Sub
Private Function exists(ByRef objCmb As ComboBox, ByVal strValue As String) As Boolean
Dim i As Integer
For i = 1 To objCmb.ListCount
If strValue = objCmb.List(i - 1) Then
exists = True
Exit Function
End If
Next i
exists = False
End Function
假设您有 3 个组合框,名称为 Combobox1、Combobox2 和 Combobox3(VBA 编辑器创建的默认名称),则代码将起作用
嘿,伙计们,我已经建立了一个下拉菜单,允许我从不同的角色选择。每次我选择一个角色,我的折线图加载。当我选择另一个选项时,它会再次加载。但是,当我再次选择我已经决定的选项时,它不会再次加载。所以它只加载一次然后再也不加载了。你知道我该怎么解决它吗?
google protobuf允许我编写如下原型代码: 它可以编译,没问题。我不太明白,对于“可选”字段,当没有指定值时,解码流返回给我默认值,没关系。但是“必需”字段呢,它不能是空的,那么它的“默认”是如何有效的呢?在什么情况下?
我的用户控件上有两个组合框。我的目标是,当第一个被选中(里面有一个项目)时,第二个应该处于活动状态。以下是代码片段: 当第一个是项目选择时,如何激活第二个组合框?
我已经添加了一个actionlistener到一个jmenuproject,它调用一个类,该类读取一个excel文件并在一个jframe中打开一个jgraph。我还添加了另一个actionlistener到不同的jmenuproject,为相同的exel文件调用相同的类,但不同的excel表(不同的int参数)。然而,当我运行我的主框架时,我点击菜单项,我一次只能打开其中一个。我必须关上一个来打开
问题内容: 每次我声明并运行两个服务时,我都遇到以下binder.proxy异常。一个服务在不同的进程中运行(专用于应用程序),另一项服务在与我的应用程序在同一应用程序(默认应用程序进程)中使用Binder实现运行的进程中运行。 AndroidManifest.xml: 我在MainActivity上的第一个按钮上单击启动我的第一个服务: MainActivity.java 与MainApplic
必须创建一个java应用程序,该应用程序将确定并显示用户输入的数字总和。求和必须在用户希望的时间内进行。当程序结束时,求和必须显示如下,例如,用户输入3个数字:10、12、3=25 并且必须使用while循环