Tag: 表单

Excel VBAcombobox

我有一个用户窗体中的combobox,我正在寻找一种方法来findselect是什么,以便我可以利用它作为一个string,并将其传递到工作表上的单元格。 例如: Private Sub Filter_Click() 'The Userform is called Summary, and the ComboBox in question is named Month_Filter If Summary.Month_Filter = "January" Then ……. Call UpdatedTotals End Sub Sub UpdatedTotals() Dim ChosenDate as String If Summary.Month_Filter <> "" Then ChosenDate = Summary.Month_Filter.Value Range("A1").FormulaR1C1 = ChosenDate End Sub

Excel VBA UserForm – 更新/覆盖数据

我试图拉和更新通过UserForm一些logging,我几乎得到它,除了一块代码不按预期工作。 它应该覆盖之前的logging(无论在与IDNumfind的logging相同的行中find的信息)。 出于某种原因,它开始复制B列的数据,因为它应该覆盖Column A所有内容。 这是代码。 Private Sub RecordUpdate_Click() Dim LastRow As Long Dim IDNum As String Dim rngIDNum As Range Dim WriteRow As Long Dim ws As Worksheet Set ws = Worksheets("Records") With ActiveSheet LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row Set rngIDNum = .Range("E1:E" & LastRow) IDNum = txtID.Value WriteRow = Application.Match(IDNum, rngIDNum, 0) Cells(WriteRow, 1).Select With […]

vba excel userform预览打印

是否有可能从vba excel中预览打印用户,或将用户表单打印到工作表中的某个位置? 我已经知道这个UserForm1.PrintForm

用户窗体comboboxExcel VBA

所以有点讨厌,因为我已经尝试了迄今为止我已阅读的每一个build议,我似乎无法让我的用户表单combobox通过VBA填充。 我已经尝试了下面的方法,似乎适用于每个人,但我…. Me.Weeks.List = Array("30", "36", "40") 和…. With Weeks .AddItem "30" .AddItem "36" .AddItem "40" End With 到目前为止,当我运行它时,在用户表单中什么也没有显示出来。 有没有我失踪的设置? 当然这些是初始化事件的一部分。 🙂 每个请求更多的代码: Private Sub ToolBoxForm_Initialize() Weeks.Clear 'MORE STUFF Me.MinAYWeeks.List = Array("30", "36", "40") 'With MinAYWeeks ' .AddItem "30" ' .AddItem "36" ' .AddItem "40" 'End With 'MORE STUFF End Sub 还有一些用OKbutton进行计算的东西,但不影响combobox的内容,只是引用所选选项的值的东西。 在此先感谢家伙

防止从用户表单到表格列的重复值

我有一个用户表单将客户信息input到表格中。 我有这个防止没有名字的客户进入: If CBCustName.Text = "" Then MsgBox "Nothing to Add. Enter Customer Information.", vbOKOnly, "Enter Customer Data" CBCustName.SetFocus Exit Sub End If 我也想看看客户是否已经存在(表CustInfo列A),并显示一个消息框告诉用户重复不被允许。 客户名称被input到comboboxCBCustName中。 这个例程由命令buttonCmdAddNewCust启动。 运行这两个检查之后,它应该将用户input到控件的所有数据写入表的相应行/列。 我有这个做这个部分,它似乎工作正常: Set tblRow = CustInfoTable.ListRows tblRow.Range(1, 1).Value = CBCustName.Value tblRow.Range(1, 2).Value = TxtAddress.Value tblRow.Range(1, 3).Value = TxtCity.Value tblRow.Range(1, 4).Value = TxtState.Value tblRow.Range(1, 5).Value = TxtZip.Value tblRow.Range(1, 6).Value = […]

VBA Excel Userform EventHandlerdynamic生成的控件无法按预期方式工作

我在Excel 2013中工作,用运行时创build的控件devise一个用户窗体。 我有麻烦制作一个function,将触发dynamic创build的控件的更改事件。 这些控件包含在一个独立的类模块中,用于创build并pipe理它们。 我想添加一个在combobox的变化事件上触发的函数,所以我声明了WithEvents: Private WithEvents myComboBox As MSForms.ComboBox … other controls and variable declarations… 我有一个函数传递了框架,我想控制在,以便我可以创build类内的所有组件。 Sub initialize(myID As String, myFrame As MSForms.Frame, Left As Double, Top As Double) … Set myComboBox = myFrame.Controls.Add("Forms.ComboBox.1", myID & "_comboBox") … End Sub 这一切都起作用,并且combobox被创build并且属性改变了,尽pipemyComboBox成功改变了combobox的显示方式。 由于myComboBox被声明为WithEvents ,我可以在下拉菜单中findmyComboBox_Change作为选项,并将其放入模块中: Private Sub myComboBox_Change() MsgBox ("Change Event Fired") End Sub 但是这个函数不会运行,我不知道为什么。 当进行更改时,消息框不会出现,放入此函数的断点不会停止任何代码的运行。 […]

限制用户窗体对特定Excel单元格中的值的响应

我在Excel中创build了一个VBA Userform,并且希望限制可以input到标记为“Date”的文本框的date列表到另一个工作表上的单元格中列出的date。 这可能吗? 或者从特定单元格填充列表框?

这一行发生了什么?

我用checkbox创build了一个名为“questionario”的表单,如果所有的chebox都是空白的,就发一个IF语句发送一个msgbox。 但是,当我运行macros引用行中出现错误(错误438)。 Private Sub CommandButton1_Click() Dim ind As Integer Dim cont As MSForms.Control ind = 0 If questionario.resp1.Value = True Then Range("E8").Value = Range("E8").Value + 1 End If If questionario.resp2.Value = True Then Range("F8").Value = Range("F8").Value + 1 End If If questionario.resp3.Value = True Then Range("G8").Value = Range("G8").Value + 1 End If For Each cont […]

Excel用户将文本框的值写入注释

我想将用户自定义文本框中的值input转换为注释。 到目前为止,我还没有find任何可行的方法。 目前我有这个 单元格(emptyRow,8).AddComment.Text = NotesTextBox.Value 这甚至有可能吗?

VBA Userform文本框 – 如何更改时返回到默认边框样式

我在Excel 2010中创build了一个VBA UserForm。我添加了一堆文本框,如下所示: 比方说,我select了顶部的文本框,看看它的属性。 BorderStyle设置为0-fmBorderStyleNone 。 将BorderStyle更改为1-fmBorderStyleSingle ,然后回到0-fmBorderStyleNone ,会丢失其默认样式,如下面的顶部文本框所示: 这是使用对象。 如果我使用VBA代码编辑BorderStyle ,效果是一样的。 有没有办法找回更改BorderStyle后的文本框完全默认的BorderStyle?