Tag: 表单

用户窗体combobox

我有一个用户窗体有一个combobox和一个文本框。 TextBox需要为ComboBox的值做一个查找,但是如果该值存在于列表中,如果不存在,我不想在TextBox中出现任何东西,所以用户可以input新的信息。 这是我有多远: Private Sub TextBox1_Enter() If cbocolor.Value <> "" Then Dim evalStr As String Dim check As Variant evalStr = WorksheetFunction.VLookup(cbocolor.Value, worksheets("CONTACTS").Range("allcontacts"), 2, False) check = Evaluate(evalStr) If VarType(check) = vbError Then TextBox1.Value = "Enter new info" Else var1 = WorksheetFunction.VLookup(cbocolor.Value, Worksheets("CONTACTS").Range("allcontacts"), 2, False) TextBox1.Value = var1 End If

在文本框中使用逗号

如果我为我的文本框使用下面的代码,当我input数字1,000,000并提交它与我的命令button它显示范围(“F1IMPG1”)为1 。 Range("F1IMPG1").Value = Val(txtF1IMP1.Value) 如果我不使用逗号,它会正确显示为1,000,000 。 有人知道为什么这可能是?

Excel VBA userform的多用户

我已经连接到Access数据库以允许多个条目。 它现在需要一个范围,并将其添加到表中。 全部完美。 但是现在我想让多个用户使用Excel用户窗体填充Access数据库。 这是可能的还是我必须重写我的整个用户表单?

许多button(userform)控制一个单独的macros,根据select打开不同的用户表单

我创build了一个小的excel表单来更新数据库。 工作很好,虽然工作人员做了奇怪的事情,必须用一个干净的版本每周更换Excel。 所以我想创build更新Excel表(DutySelection)的用户forms。 我有很多button(用户窗体)A4:A31将控制一个单独的macros,打开3个不同的用户forms取决于B4:B31下拉列表select 目前我的代码只能从B4工作,无论我点击哪个button。 EG:B4select开始,开始表格打开。 B6select完成,“开始”窗体打开 Sub Duty() If Sheets("DutySelection").Range("B4,B31") = "Start" Then frmStart.Show ElseIf Sheets("DutySelection").Range("B4,B31") = "Duty Type" Then ReportUpdate.Show Else: Sheets("DutySelection").Range("B4,B31") = "Finish" 'Then frmFinish.Show End If End Sub 我在想,我错过了一两行,但只是不能find我所需要的在线

如何将用户窗体上的控件对象添加到集合,然后遍历集合并访问其属性?

我在UserForm中有以下代码。 我试图添加窗体上的combobox的某个子集到集合,然后遍历该集合。 它似乎是将combobox的值添加到集合而不是控件对象本身…? 添加到集合后,我需要使用什么标识符或属性才能访问combobox对象的.Text属性? 'Put comboboxes in a collection Dim oColl As Collection Set oColl = New Collection Dim cb As Control For Each cb In Me.Controls If TypeName(cb) = "ComboBox" Then ' I suspect it may be this line going wrong: If IsNumeric(cb.Text) Then oColl.Add (cb) End If Next ' Trying to loop through […]

VBA将ComboBox值输出到列中的下一个空闲单元格中

我正在尝试从一个UserForm文本框输出到列中的下一个空单元格中的值: Private Sub CommandButton2_Click() Dim LastRow As Long With ThisWorkbook.Sheets("Output") LastRow = .Cells(.Rows.Count, "H").End(xlUp).Row With .Range("H" & LastRow) .Value2 = TextBox1.Value End With End With End Sub 但是,它不会工作,我收到没有错误信息。 任何想法,我哪里错了? 谢谢

用户表单中的CheckBox和TextBox的条件语句(VBA)

我是VBA中编写UserForms的新手,需要一定的帮助,在一定数量的CheckBox和TextBox对上编写条件语句。 显然,一个循环将涉及,但我似乎不能合并它。 这是我尝试过的方法之一,也是失败的方法之一: For i = 1 To 12 If CheckBox(i).Value = True And TextBox(i) = "" Or CheckBox(i).Value = False And TextBox(i).Value <> "" Then MsgBox ("Warning") End If Next i 感谢您的任何帮助!!!!!! 问候

Excel VBA Userform IIf(IsDate)不保存空白

早晨,我有一个工作簿,有许多用户窗体,允许input多种types的数据,包括文本,数字和大量的date字段。 所有似乎都工作正常,除非用户想要删除date,使用适当的用户窗体,它不会覆盖工作表中的值。 下面是我用来检查用户窗体中的值是否是date,然后填充工作表,但它什么都不做的代码。 任何帮助赞赏。 ws.Cells(lastRow, txtCollectionDate.Tag).Value = IIf(IsDate(txtCollectionDate), CDate(txtCollectionDate), "") 更新:txtCollectionDate是一个文本框,它的价值原来是09/01/2016,但用户想要删除这个,因为它是错误的input。 用户应该能够突出显示值,按删除(键盘),然后保存。

如何在Excel 2013中的窗体中设置Tab键顺序

我已经创build了一个Excelinput表单,其中有4个文本框,并排列在一起。 我无法弄清楚如何设置标签顺序。 在控件的属性部分,唯一接近'tab'的是'AutoTab'和'TabKeyBehavior',它们都是布尔值,true和false。 如何在Excel中设置表单控件的Tab顺序?

在多页面用户窗体中检查文本框的值

我有一个多个页面的用户窗体,每个都有我想确保数字的文本框,然后将它们转储回工作表。 我有其他正常的用户forms,这样做: Private Sub myTextBox_Exit(ByVal Cancel As MSForms.ReturnBoolean) OnlyNumbers End Sub Private Sub OnlyNumbers() If TypeName(Me.ActiveControl) = "TextBox" Then With Me.ActiveControl If Not IsNumeric(.Value) And .Value <> vbNullString Then MsgBox "Sorry, only numbers allowed" .Value = vbNullString End If End With End If End Sub 这工作正常,但是当我尝试做一些类似的这个多页面用户表单不起作用。 我试过使用 Me.ActiveControl.ActiveControl 但得到一个“对象不支持这个属性或方法”的运行时错误。 这将工作时,文本框是在一个框架内,但似乎不像页面处理相同的方式。