Tag: userform

用户表单 – types不匹配错误

我是新来的编码(2个月),我主要是从networking上的代码。 对于上下文,我从这里的一些说明如何使用用户userform更新我的工作表中的值。 第一位是好的,我能够从我的工作表拉回数据到我能够编辑的用户表单,但试图然后更新工作表中的数据是给我一个'types不匹配'的错误。 代码如下,当我点击“更新”button Private Sub cmdupdate_Click() If Me.cmbslno.Value = "" Then MsgBox "SL No Can Not be Blank!!!", vbExclamation, "SL No" Exit Sub End If Sheets("Sheet 1").Select Dim rowselect As String rowselect = Me.cmbslno.Value Cells(rowselect, 2) = Me.TextBoxdate.Value Cells(rowselect, 3) = Me.TextBoxraisedby.Value Cells(rowselect, 5) = Me.ComboBoxsite.Value Cells(rowselect, 6) = Me.ComboBoxfacility.Value Cells(rowselect, 7) = Me.ComboBoxpdriver.Value […]

编译错误:预期结束小组

我有一个macros分配给一个形状,并希望密码保护这个macros,所以当形状被点击时出现一个popup框要求passwork,理想情况下,我想通过用户forms做到这一点。 我已经看了这个问题: 你如何密码保护Excel的VBAmacros运行,并已经做了我相信回答者说,所以我的代码如下: Sub EmailExtract() UserForm1.Show ***Code for the macro then follows*** End Sub 然后点击button的用户表单: Private Sub CommandButton1_Click() If TextBox1.Value = "Password" Then 'Replace Password by your custom password Sub EmailExtract() 'This is the sub that was being called by your button. Else MsgBox "You are not allowed to launch the macro" End If Exit […]

增加一个文本框的值

我有一个用户窗体将调出在E栏中input的最后一个值。 这是好的,但我希望用户窗体显示最后一个值增加一个,保存用户不必自己改变值。 例如 “MSA 00-00-0001”< – 这是什么显示,因为这是列的最后一个值不过,我希望用户窗体显示MSA 00-00-0002 通常情况下,您只需使用.Value + 1我假设,但是由于连字符和值字段中的文本,这将不起作用。

Excel VBA用户窗体控件

大家早上好, 我有一个Excel用户窗体中的combobox和多页。 我想要创build的是一个基本上将可见性设置为0的所有MultiPage页面的名称不等于comboboxselect,但我卡住了。 Sub changeMultiPageVisibility() If userForm.templateComboBox = "Criteria1" Then While multiPage.Names <> userForm.templateComboBox Set multiPage.Pages.Visible = 0 我还不熟悉VBA和UserForms,如果任何人都可以指出我正确的方向,我将不胜感激。 谢谢!

简单的方法来打开未知数量的Excel文件

今天是个好日子! 我知道如何让用户通过用户表单(文本框+button)来select有限数量的excel书籍,但是现在我遇到了这样的问题。 我不知道有多less文件需要打开(可能是5或50),所以我的第一个想法是当你填写一个string,然后出现时,创build像网站上的“刷新”用户表单。 但似乎太复杂了,另一个想法来了:让用户select文件夹,然后打开每个文件,并做我需要做的(复制前2张初始WB)。 我的问题是,我完全不知道如何实现我的想法。 我希望你能帮助我:)在此先感谢!

在TextBox中使用VBA返回答案

我正在创build一个相当简单的用户表单。 用户必须input我想要计算的两个值,并在Excel中的电子表格中input一列。 我不知道如何格式化VBA来计算这些值,然后将其保存在电子表格中。 这是我有什么: Private Sub txtRecruitPct_Change() Dim A As Integer Dim B As Integer A = txtApprovedAffs.Value B = txtEmailsSent.Value Answer = A / B End Sub 我需要知道如何获得这个值来计算并保存在Excel的特定列中。

对象定义的VBA错误1004

我有一个Excel工作表,上面有一个button。 当按下时,它运行: Sub Open_Constraints() UserForm7.Show End Sub UserForm7也有一个button。 点击后,将运行存储在“UserForm7”下的代码,该代码表示​​: Private Sub CommandButton1_Click() UserForm7.Hide UserForm1.Show End Sub 从那里,用户窗体1有很多的选项框和checkboxif语句如下所示。 但是,只要checkbox或选项框的值为“true”,就会返回对象或应用程序定义的错误。 以下是可能触发代码的一小段代码: If UserForm1.OptionButton1.Value = True Then Sheets(ConstraintsSheet).Cells(ProfessorRow, 3).Value = "Y" ElseIf UserForm1.OptionButton2.Value = True Then Sheets(ConstraintsSheet).Cells(ProfessorRow, 3).Value = "N" End If 有什么想法吗? 每个OptionBox和CheckBox都会触发它,而ConstraintsSheet和ProfessorRow也是明确定义的,就像UserForm和OptionButton的名字一样。 我认为范围问题可能会发生,但不知道如何更好地解决/参考事情。

在VBA中将可变表单模块传递给用户表单

首先,这是我第一次在堆栈溢出的post,所以我希望我遵循正确的程序。 我已经浏览了这个网站和其他网站上的几十个post,但我似乎无法推断类似案件的解决scheme。 我也尝试过使用debugging行,但我不能指出问题,可能是由于我是VBA新手。 以下是我简而言之,希望你能帮助: Sheet1上的一个命令button引发了一个Yes / No / Cancel msgbox,我想要一个机制来记住用户窗体和模块中的这个select,所以我声明boolNieuweOpdrachtgever是一个公共variables,但是在后面的窗体中,debugging行指示它根本不记得它的价值。 代码如下: Public boolNieuweOpdrachtgever As Boolean Public Sub nieuw_project_Click() Dim nieuweOpdrachtgever As Variant nieuweOpdrachtgever = MsgBox("Text", vbYesNoCancel) Select Case nieuweOpdrachtgever Case vbYes boolNieuweOpdrachtgever = True Debug.Print "In nieuw_project_Click() boolNieuweOpdrachtgever = " & boolNieuweOpdrachtgever nieuweOpdrachtgeverForm.Show Case vbNo boolNieuweOpdrachtgever = False Debug.Print "In nieuw_project_Click() boolNieuweOpdrachtgever = " & […]

比较Excel单元格值和用户窗体文本框

好吧,问题是即时通讯工作在一个Excel用户窗体中,但我找不到一种方法来进行文本框值和单元格值之间的比较,如果某些语句是满足它将写入另一个文本框的其他值(该程序是已经使用Excelmacros,但我想使它看起来更好,即时通讯尝试使用用户窗体) 这是我正在尝试运行的代码 Select Case (TextBox1) Case Is <= Sheet2.Cells(3, 8) TextBox21 = 4 End Select (当你运行代码它什么都不做) 我是否需要做一些其他的工作,因为即时通讯使用我的表格相同的Excel文件,使用户forms,如果我混淆的东西,请让我知道。 感谢您的回答,并为我的英语感到抱歉。

使用VBA更改表单中的源链接而不是工作簿

我正在试图写一些VBA到一个用户窗体,这将允许我改变说所有的外部链接在sheet1到workbookA,然后所有的外部链接在sheet2到workbookB,然后所有在sheet3到workbookC等等。 我已经使用此代码来完成工作簿中的所有链接 Private Sub btnUpdate_Click() Dim Source As String Application.ScreenUpdating = False currentsource = ActiveWorkbook.LinkSources(xlExcelLinks) 'This is just a record of the changing source files Sheets("Notes").Range("C2") = currentsource 'txtDirectory is the new source location chosen in my userform Sheets("Notes").Range("C3") = txtDirectory Source = Sheets("Notes").Range("C2") ActiveWorkbook.ChangeLink Name:=Source, NewName:=txtDirectory, Type:=xlExcelLinks Application.ScreenUpdating = True End Sub 这完美的作品,但我现在需要适应它来改变链接取决于我所在的工作表。 我做了很多的search工作,但也花了我很多时间在我的VBA书籍里面。 […]