Tag: combobox

Excel VBA:ComboBox运行时错误6:input密钥值时溢出

我正在构build一个过程来获取Excel VBA中的combobox的选定值。 下面的代码工作正常,当用户用鼠标select值。 但是当他直接用键盘input一个键时,我得到错误: Run-time error 6: Overflow 这是代码,错误在最后一行: Private Sub ComboBoxCAE_Change() Dim selecionado As Integer 'On Error Resume Next selecionado = ComboBoxCAE.Value 我尝试了其他事件列表像AfterUpdate,但没有发生(事件没有触发)。 请帮忙吗?

通过函数调用填充各种combobox

早上好! 我试图使我的代码更通用的使用函数来填充各种combobox,但是,我有麻烦做到这一点… 在用户窗体中: Private Sub UserForm_Initialize() Call Lista_Vendedores ComboBox1.List = Lista_Vendedores End Sub 在模块中: Public Function Lista_Vendedores() As Variant Dim Lista As New Collection Dim Cont_Vendedores As Integer Cont_Vendedores = Plan1.Cells(1, 8).Value Sheets("Plan1").Select For i = 3 To Cont Lista (Row.Cells(i, 8)) MsgBox Lista Next i Set Lista_Vendedores = Lista Set Lista = Nothing End […]

添加两列vba userformcombobox

我有用于股票控制,用于进出项目,所有我想要做的修改下面的代码,以显示每个项目名称旁边的代码进行search项目。 码: Private Sub ComboBox1_Click() Dim i As Integer Dim j As Integer Dim final As Integer Dim FINAL2 As Integer For i = 2 To 1000 If Hoja5.Cells(i, 1) = "" Then final = i – 1 Exit For End If Next For i = 2 To 1000 If Hoja6.Cells(i, 1) = "" Then […]

Excel VBA:为什么combobox只显示列表中的一个项目?

我尝试通过VBA制作一个combobox,它将在工作表的某些单元格的下拉列表中显示一些值。 这是相关的代码: Set header = ActiveWorkbook.Worksheets(source_sheet_1_name).Range(Cells(4, 4), Cells(4, 9)) ActiveWorkbook.Names.Add Name:="header", RefersTo:=header UserForm2.ComboBox1.RowSource = "header" 但是,combobox只显示列表中的第一个项目。 我看了一天,仍然无法弄清楚我做错了什么。

Excel VBA ComboBox DropDownbutton大小 – 改变了自己

我有一个工作簿与几个combobox(和列表框)和大量的VBA写在他们周围。 我已经在Workbook_Open过程中使用相同的代码来格式化他们几个星期,没有任何重大的麻烦。 昨天晚上,我远程login到我的工作电脑(有史以来第二次)编辑代码的一些其他部分(没有什么触及框的属性)。 过了一会儿,所有的盒子,列表和组合的格式变得疯狂起来。 列表框右侧的滚动条变得很大,滚动条也出现在底部。 combobox上的下拉button也变得很大 – 就像盒子一样宽。 我closures并重新打开了Excel,所有的框都回到了以前的开心状态,除了一个,仍然有一个像框一样宽的下拉button。 我的vba格式代码没有帮助。 重新启动电脑没有帮助。 我比较了应该相同的两个框的属性窗口(名称和左侧位置除外),没有什么不同。 那么反正我可以驯服,重置或以其他方式控制这个叛徒下拉button? 我希望我甚至没有在Excel中处理这种不可预知的行为,但我卡住了。 这是我的格式化vba: With ThisWorkbook.Sheets(c_stMatrixSheet).OLEObjects(c_stMatrixTypeBox) .Width = 120 .Top = 14 .Left = 878 Call FormatComboBox(.Object) .Object.AddItem c_stAMatrix .Object.AddItem c_stBMatrix .Object.AddItem c_stCMatrix .Object.Text = c_stAMatrix End With … Private Sub FormatComboBox(bxComboBox As msforms.ComboBox) With bxComboBox .Clear .Height = 19.5 .Font.Name = c_stDropBoxFont .Font.Size […]

使用For循环来填充combobox

对于一个项目,我想用一个可变数量的选项填充用户窗体上的combobox。 选项的数量取决于表单中前面给出的数量。 用户将input一个值并为所有这些值分配名称。 可能只有2个名字,但也可能有10个名字。 我希望Combobox使用给定的值(名称数量)来填充存储在不同位置的名称。 我目前的代码如下,但它给了我下面的编译错误,然后select.AddItem部分作为错误的来源.. 编译错误:期望的函数或variables Private Sub UserForm_Initialize() 'Sheet1.Range("A1") contains the value for the amount of names If Sheet1.Range("A1") = 0 Or Sheet1.Range("A1") = "" Then 'Do Nothing Else With ComboBox1 For n = 1 To Sheet1.Range("A1") 'col determines the column in which the names are found 'The first name is in column […]

在Excel中基于combobox(表单)隐藏列

我有一切设置与预测不同的选项。 过去我做了一件不同的工作,我不知道自己出错的地方。 Private Sub ComboBox1_Change() If ComboBox1.Value = "2 Weeks" Then Columns("J:L").Select Selection.EntireColumn.Hidden = False Columns("M:R").Select Selection.EntireColumn.Hidden = True End If If ComboBox1.Value = "6 Weeks" Then Columns("M:O").Select Selection.EntireColumn.Hidden = False Columns("J:L").Select Selection.EntireColumn.Hidden = True Columns("P:R").Select Selection.EntireColumn.Hidden = True End If If ComboBox1.Value = "12 Weeks" Then Columns("P:R").Select Selection.EntireColumn.Hidden = False Columns("J:O").Select Selection.EntireColumn.Hidden = True […]

EXCEL VBA:用户表单代码,重复代码改进

有没有更有效的方式来编写这个用户表单代码? Private Sub Userform_Initialize() 'do stuff With Item1_DropDown .AddItem "Monday" .AddItem "Tuesday" .AddItem "Wednesday" End With With Item2_DropDown .AddItem "Monday" .AddItem "Tuesday" .AddItem "Wednesday" End With With Item3_DropDown .AddItem "Monday" .AddItem "Tuesday" .AddItem "Wednesday" End With 'and so on, and so on. (I have about fifty of these 'With/End With' blocks) End Sub 基本上,我希望能够停止写这么多的“With / […]

如何使用Excel vba 2007从Excel列中获取Combobox中的值

我在Excel 2007中有三个列 类别主要产品 牛奶22乳 乳业22黄油 乳业22 Cheez 颜色44红色 颜色44绿色 颜色44蓝色 洗发水1戊烯 洗发水1 H&D 洗发水1 Sunsilk 喝3百事可乐 喝3可乐 我有一个包含1个combobox和4个文本框的表单。 我想从“类别”列中的combobox中获得唯一的值。 当我select颜色时,应该在文本框中显示“Key”列中的Color键和相关的“Prodcuts”。 例如。 如果我selectDairy,那么一个文本框1应该显示“22”键,其他三个文本框应该显示“牛奶”,“黄油”和“Cheez”。 如何使用VBA来做到这一点。 请帮帮我。 谢谢

VBA – 从用户的Combobox中复制文本,并将其粘贴到Excel工作表中

我是新的excel的VBA和我试图适应一些堆栈溢出find的解决scheme,但我仍然卡住! 我正在尝试在用户窗体中的combobox中使用选定的选项的文本将此选定的文本的行粘贴到Excel工作表。 下面的代码旨在select当前活动的用户窗体的combobox值“CboIncomesPatch”,并将此值粘贴到活动页的单元格“M8”中,然后循环粘贴,直到计数器达到数字总单元数为止。 单位总数是文本框值“TxtNumberOfUnits”,例如“15”。 combobox中的15个文本应粘贴在单元格“M8”中,然后是所有后续行“M9”,“M10”等。ComboBox使用的范围是硬编码的,所有选项都是所有string(没有数字)。 在下面的代码.SelectedItem错误发生。 当我使用它作为文本框(不包括select代码的combobox部分)时,循环工作。 请让我知道,如果我可以在这里提供更多的信息来协助您的答案。 谢谢, 尼尔 Sub Incomes_Patch() Dim Counter As Integer Dim ws As UserForm Dim Total As Integer Dim Incomes As String Set ws = UserForm(this.CboIncomesPatch.GetItemText(Me.CboIncomesPatch.SelectedItem)) Set Incomes.Value = ws Total = TxtNumberOfUnits.Value Counter = 0 Application.ActiveSheet.range("M8").Select Do While Counter <= Total If Counter = Total Then Exit Do […]