在我的Excel电子表格中,我使用下面的VBA代码来使用来自UserForm的值获得一个带有ComboBox的Sheet1
电子表格上的ComboBox1列表:
A B C
1 Q1
2 January
3 February
4 March
5 Q2
6 April
7 May
8 June
调用 UserForm1的VBA代码(连接到电子表格上的一个按钮):
Sub Test()
Call UserForm1.Show(vbModeless)
End
我在Excel中构建了一个表单。它由3个命令按钮和一个包含复选框的框架组成。复选框是在userform_initialize中根据excel表中的表动态填充的(这种想法是方便用户自定义的)。这个框架的原因是可以有很多复选框,我希望用户能够滚动它们。
我现在的目标是为表单创建键盘快捷键。我陷入困境的原因是我不能强行为每个复选框编写KeyDown处理程序,因为我不知道哪些复选框会存在。我意识到,如果我可以在表单级别上设置事件处理程序,情况也会更好。谷歌已经找到了表单的KeyPreview属性。不幸的是,VBA中的属性窗口没有显示它,当我试图通过设置Me.KeyPreview = True at u
我正在用Excel中的VBA来制作一个UserForm。我想在这个UserForm中显示一个透明的背景图像是在PNG格式。最初我收到一条错误消息,因为VBA本身不支持PNG格式,所以我发现如果我引用Microsoft Windows Image Acquisition Library v2.0并使用以下代码,VBA就能够在ImageControl中显示PNG图像。
Sub ShowForm()
UserForm1.Image1.Picture = loadImg("C:\Temp\Logo.png")
UserForm1.Show
End Sub
Functi
我有一个带有多个框架的用户表单,所有这些都充满了多个复选框。我已经将这些复选框命名为相应的Excel单元格。现在,我想让VBA在运行时单击这些复选框中的任何一个。我知道我可以通过为每个单独的复选框创建一个单击-sub来实现这一点,但是必须有一个更干净的方法来做到这一点。
到目前为止,我已经尝试将这段代码放入userform_Click和userform_Mousedown事件中,但是当我单击复选框时它们不会运行。有人知道怎么做吗?
Dim iControl As Control
For Each iControl In Me.Controls
If TypeName(iControl
使用VBA (Excel365 (16.0.12527.20880),德语),我试图将复选框(Checkbox1)标题的清除属性设置为False,这是根据应该工作的设置的。
以下代码放置在Module1 (简化)中,并更改UserForm1.Checkbox1的删除值(UserForm1和Checkbox1是静态的,是通过VBA创建的,而不是运行时通过代码创建的)。
Sub ChangeCheckBox()
UserForm1.CheckBox1.Caption = "Test" 'this triggers the Init-Procedure, w
我正在创建一个程序,用复选框从UserForm (但会有很多UserForms)生成一些过滤器。该程序的工作方式如下:
从UserForm中选择一些复选框
单击名为Next的CommandButton
过滤器装载以下代码:
Excel VBA代码
Sub Filtrarvar(ByVal j As Integer, ByVal k As Integer, _
ByVal col As Integer, ByVal Userf As String)
Dim Countercheck As Integer
Counterc
我有一个带有按钮的Excel工作表。按下时,它会运行:
Sub Open_Constraints()
UserForm7.Show
End Sub
UserForm7上也有一个按钮。单击它时,它运行存储在"UserForm7“下的代码,上面写着:
Private Sub CommandButton1_Click()
UserForm7.Hide
UserForm1.Show
End Sub
从这里开始,UserForm1有大量的选项框和复选框,下面显示了if语句。但是,每当复选框或选项框的值为"true“时,它都会返回对象或应用程序定义的错误。下面是代码
因此,我编写了几个带有几个用户输入(文本框、复选框等)的用户表单。现在我如何在excel之外使用它们呢?
目前,我必须:
Open up the spreadsheet
Enable macros
Go to Developer Tab, View Code
Then find the right userform and run it or type F5.
有没有一种更友好的方式来运行用户表单?它是为不懂vba或excel编程的测试人员准备的。
谢谢!
我有一个VBA的excel用户表单,这是行为不端。基本上,我希望我的代码暂停,直到用户表单上的命令按钮被按下。有什么想法吗?
在模块中:
Public okayclicked as boolean
Sub MyThing
UserForm1.Show
Do Until okayclicked
DoEvents
Loop
UserForm1.Hide
End Sub
在我的用户表单中:
Sub CommandButton1_Click()
okayclicked = True
End Sub
不确定还可以尝试什么来使其工作。如有任何帮助,我们不胜感激!谢谢!
我在Word文档中创建了带有复选框'cbxYes'和内容控制复选框'docCbx'的'docCbx'。我希望选中'cbxYes'中的UserForm复选框,然后更改Word文档中的Control复选框。因此,输入来自UserForm复选框,输出是Control复选框。
我已经尝试了多次搜索如何做到这一点,但我没有找到确切的我需要什么。大多数搜索都与Excel有关。老实说,我不知道我在做什么。请。正确的帮助是非常感谢的。
Private Sub cbxYes_Click()
Dim oCC As ContentControl
I
我目前有一个从网站复制到我的excel文件中的VBA代码,用于清除活动工作表中的所有复选框。但是,如果未选中这些复选框,则应在未选中复选框时清除某些单元格内容的公式(通过VBA完成)将不起作用。例如:我设置了VBA公式,以便在选中复选框1时,某个单元格的值将更改以反映某些信息,并且VBA代码还会在取消选中该复选框时使单元格内容清晰。以下代码的问题是,当它运行时(它确实成功地取消选中了复选框),连接到这些复选框的单元格的值不会像取消选中复选框时应该清除的那样清除。代码如下:
Sub ClearCheckBoxes()
'Updateby Extendoffice 20161129
Dim
因此,我在用户表单中包含了以下代码 Sub UserForm_Initialize()
Dim i As Long
Dim chkBox As MSForms.CheckBox
On Error GoTo Error:
LastRow = Worksheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To LastRow
Set chkBox = Me.Controls.Add("Forms.CheckBox.1", "CheckBox_&
我正在用匹配变量的optionbutton初始化userform。如果变量匹配,则需要打开OptionButton。OptionButton不能连续,并出现错误“找不到指定的对象”。 这是excel VBA,我试着去做异常,但是不起作用。 Private Sub UserForm_Initialize()
Dim i As Integer, obj As Object, Fruit As String, Meat As String
Fruit = "BANANA": Meat = "BEEF"
For i = 11 To 23
Set obj = C
在VBA (Excel)中是否有一种方法可以确定用户表单的属性是模态的还是非模态的?
我以为我只需要计算属性ShowModal,但显然bolFormState = UserForm1.ShowModal不起作用(它在UserForm1.ShowModal method or data member not found上产生了错误消息)。
好的,这就是问题所在:在我的用户表单中,我有两个复选框。我希望能够使用复选框的值来执行特定的工作。
示例:
Sub main()
UserForm1.Show
If UserForm1.CheckBox1.Value=True Then
MsgBox("Awesome")
End If
End Sub
现在我的问题是,它一直给我运行时错误424。有人能帮我吗?非常感谢你的帮助。谢谢。
更新:
Sub main()
UserForm1.Show
If UserForm1.CheckBox1.Value=True The
.PasswordChar属性使用元件用户在Excel for Windows (而不是Excel for Mac )中正确选择的任何内容来屏蔽文本框输入。
我处理过Textbox1_Change事件,但它的工作效率不高。
有人能提示我该怎么做吗?
Private Sub TextBox1_Change()
Dim mystring As Variant
Dim textlen As Integer
Dim counter As Integer
mystring = UserForm1.TextBox1.Value
textlen = VBA.Len
我对VBA编程非常陌生。我的场景是,我将获得一个字符串值列表,我需要在一个小窗口中使用单选按钮将这些值显示给用户,以便每当用户通过单击单选按钮选择任何值时,我都应该能够在VBA代码中获得该值。我在网上搜索用户表单中添加选项按钮的方法,得到了一些使用GUI方法创建选项按钮的解决方案。但我需要通过程序来完成。我在stackoverflow ( )中发现了一个有用的线程,我使用了这个线程,但我仍然无法在用户表单上获得任何标签或按钮,将显示一个普通的用户表单。因此,任何人请提供有关这方面的信息。
代码是:
Sub Button1_Click()
lResult As Variant
我有一个用VBA代码调用用户表单的excel工作表。当我运行该userform时,其中一条指令是删除该工作表(但由于它首先调用了userform,我怀疑该工作表上的代码仍在运行)。这最终会在VBA Microsoft Excel对象列表中留下一个“重影”工作表。您不能删除这些工作表,因为该选项呈灰色显示。因此,我积累了大量的“幽灵”表。
。
工作表上的代码:
Private Sub CommandButton1_Click()
Call Show_UserForm
End Sub
任何关于这个问题的建议或帮助都将不胜感激。
编写VBA代码,该代码将一个UserForm文件的一个Excel文件调用到一个名为john的文件夹中的所有其他Excel文件,主Excel (由以下代码和用户表单组成)位于不同的位置:
Private Sub Workbook_OnClick()
Dim mypath As String
Dim file As String
Dim wb As Workbook
Dim pat As String
Application.ScreenUpdating = False
ChDrive "C:"
ChDir "
我想将文本框的值传递给VBA (Excel)中的公式。
Private Sub CommandButton1_Click()
Dim min As Integer
Dim max As Integer
min = Val(UserForm1.TextBox3.Value)
max = Val(UserForm1.TextBox4.Value)
Range("A1").End(xlDown).Offset(1, 0).Select
ActiveCell.FormulaR1C1 =
"=RandBetween(Val(UserForm1.TextBox3.Value)
当我尝试在设计时使用以下VBA代码将复选框添加到UserForm中时,将得到以下信息:
“运行时错误'13':类型不匹配”
在声明Set cb = UFvbc.Designer.Controls.Add("Forms.CheckBox.1")。
Sub Add4Controls()
Dim UFvbc As VBComponent
Dim r As Long
Set UFvbc = ThisWorkbook.VBProject.VBComponents("UserForm1")
'Add 4 Check
我正在使用下面的代码来简化工作簿的导航。但是,运行后的宏光标移动是奇怪的(限制范围和跳跃)。此外,当单击红色"x“关闭窗口时,工作簿不会关闭。此外,组图标和取消组图标(用于隐藏或展开行和列)无法工作。似乎在某种程度上“控制”仍然在VBA中,因为它应该是普通Excel的。所有的帮助都很感激。
用户表单代码:
Option Explicit
Option Base 1
Private Sub UserForm_Initialize()
Dim ShList()
Dim ShCount As Integer
Dim x As Integer
Dim List