Tag: userform

第一次打开时VBA Userform未被填充(可能的内存问题)

VBA'ers, 我会切入正题。 我有一个用户表单与所有的花里胡哨(标签,文本框,列表框,tabtrip等)。 目前我有三个潜艇。 这是我的代码。 我知道人们只要求用户表单初始化,但看到所有这些可能有助于find问题。 Private x As Single Private y As Single '—————————————— Private Sub CommandButton1_Click() Unload Me End Sub '—————————————— Private Sub ListBox1_Click() x = 2 y = 2 name = ListBox1.Value 'Loop to match names Do Until name = Cells(x, y) x = x + 1 Loop 'Changes lables on click […]

读取用户窗体对象值

我创build了一个用户窗体(在VBA Projectbrowser中手动)。 我已经编写了VBA代码,它在运行时用不同的对象( Labels , Optionbuttons等)填充这个用户窗体。 到目前为止一切正常 用户表单中充满了从我的Excel工作表中读取的数据并正确显示。 但是我无法读取来自对象的input(例如Optionbutton – TRUE or FALSE )。 这些对象不会出现在任何地方(用户窗体除外),以便我可以链接它们并在另一个模块中使用它们。 我猜他们只是显示,并没有真正读入内存或任何(初始化!?)。

如何在单元格中分割多个值并链接到用户窗体中的checkbox

您好,我有以下代码search的姓氏和返回文本框中的值。 我希望checkbox取决于第6列(f.offset(0,5))。 但是,当我使用下面的代码,它不是拿起第6列的单元格中的多个值,它只能拿起第一个。 我怎样才能解决这个问题? Private Sub Search_Click() Dim Name As String Dim f As Range Dim r As Long Dim ws As Worksheet Dim s As Integer Dim FirstAddress As String Dim str() As String Name = surname.Value With ws Set f = Range("A:A").Find(what:=Name, LookIn:=xlValues) If Not f Is Nothing Then With Me firstname.Value = […]

如何设置我的GIF可见,当我运行用户表单? (VBA)

我的图表只更新并显示在我正在运行的用户窗体上,当我单击我的桌面上的temp.gif文件。 当我运行代码时,如何让它自动显示? 这是我的代码: Private Sub Image1_Click() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet") 'ws.ChartObjects("Chart 2").Chart.Activate Set CurrentChart = ws.ChartObjects("Chart 2").Chart Fname = ThisWorkbook.Path & "\temp.gif" CurrentChart.Export Filename:=Fname, FilterName:="GIF" Image1.Picture = LoadPicture(Fname) End Sub 诚恳, Peyko。

Excel使用forms:如何隐藏应用程序,但在任务栏中有图标

我想要的是Application.Visible = False,以便我的用户不能看到Excel /工作表,只有用户窗体。 我有这个工作,通过使用这个代码: Private Sub Workbook_Open() Application.Visible = False UserForm2.Show End Sub 但是,这只有在后台浮动的用户表单。 我的用户将打开其他应用程序,我希望他们可以通过在任务栏上显示一个图标轻松地更改为用户窗体。 我在网上find了下面的例子,但我似乎无法find放置这个代码的地方。 对此还是很新的,所以希望我有正确的工作代码。 如果我这样做,是否可以有人跟我说说把它放在哪里,因为当我把它粘贴到我的代码中时,它不工作? (即它应该在“用户表单”或“这个工作簿:声明”之下) 谢谢, Option Explicit Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) […]

当使用VBA不满足某个参数时调用用户窗体

我目前正在一个Excel工作表,我试图基本上有一个用户窗体出现一旦我的If …然后声明是真实的。 我的“If,Then”语句基本上由数据点高于最大值或低于最小值组成。 一旦数据点满足这些参数,那就是当我要调用用户窗体。 我正在尝试让用户窗体显示一个数字的条目,一旦进入,它将确保它不会超过最大值或最小值。 那么,如果不是最大值或最小值以下,我想提交input到用户input数据的单元格中的数字。 我知道这可能看起来很简单,但我对VBA来说还是比较新的,我正在尽我所能来学习它。 到目前为止,用户表单已经开始devise了。 所以我只是input文字和input框。 就是这个。 感谢您的帮助! 另外这里是我的“If,Then”声明的代码。 我原本是在它发送电子邮件的地方。 那么在“Then”这个词之后。 我让macros发电子邮件给该Excel表的所有者。 我正在尝试使用此代码,以使UserForm: Option Explicit Public Sub OutofControl() Dim lRow As Long Dim lstRow As Long Dim data As Variant Dim ul As Variant Dim ll As Variant Dim wb As Workbook Dim ws As Worksheet With Application .ScreenUpdating = True .EnableEvents […]

Excel用户表单checkbox为空

我创build了一个用户表单,并添加了一个名为“DSSSContact”的chekcbox。 我已经写了一些代码,在保存在以下子文件之前检查用户窗体的内容: Private Sub SaveandClose_Click() 当表单被初始化时,checkbox被设置为灰色,但是打勾 – 我认为这意味着值为空。 SavandClose子代码包括以下我认为会确保checkbox设置为true或false: If DSSSContact = Null Then MsgBox "DSSS Contact Test" Exit Sub End If 但是,当我用保存并closures命令button保存并closures表单,而没有在checkbox上做出select时,表单保存内容而不触发消息框。 所有其他检查,我已经创build,以validation文本框和combobox填充工作正常。 我也在同一个sub中添加了下面的代码: Debug.Print Me.DSSSContact.Value 这在立即窗口中打印空 任何帮助非常感谢。 谢谢

VBA对话框在不同的工作簿中select范围挂起

我使用的是我在下面附加的链接中回复的代码,我有一些问题,你能帮我吗? VBA对话框在不同的工作簿中select范围 当我点击复制框可以select我想要使用的范围它挂断了,当我点击说有另一个窗口打开某个地方的优先级更高,但我找不到它时,我听到声音。 基本上,我想要做的是从一个工作簿复制指定的列,并将其粘贴到我的原始工作簿中的工作表。 我知道我的“copyButton_Click()”编码是不正确的,但是我不能在debugging中解决这个问题。 这是我有什么: 模块1: Sub extractData() Dim FName As Variant Dim wb As Workbook Dim destSheet As String ' Application.ScreenUpdating = False destSheet = "NewData" ' 'Selects and clears data Sheets(destSheet).Select Range("A2:I12000").Select Selection.delete Shift:=xlUp Range("A2").Select ' 'Prompts user to select updated ILP file to copy data from: FName = Application.GetOpenFilename(filefilter:="Excel Files (*.xls;*.xlsx;*.xlsm), […]

UserForm对象即使删除后仍然存在

我在用户窗体中有几个“幻像”对象,我在VBA(用于Excel)中进行devise。 它们在表单的界面生成器部分中被删除,并且在实际模块中(至less在IDE显示给我的那部分模块中)中没有剩余的对它们的引用。 但是,这些对象依然存在。 我无法重新使用它们的名称,并且它们在对象浏览器中作为表单的成员可见(请参阅EmployeeFormatFrame和Label1 ): 不能重复使用名称: 我真的可以用一些帮助来解决这个问题。 在研究这个问题时唯一能find的就是这个 ,但是它指的是一个Access数据库,因此没有什么帮助。 这是一个非常类似的问题,我经常在Borland的C ++ Builder中工作,这个问题总是通过删除代码中对象的剩余引用来解决。 但是,我在这里找不到任何东西(或者IDE不会显示给我)。

用户自定义列表框行源不填充

我有一个OK和Cancelbutton和列表框的用户窗体。 它应该填充使用这个代码: Private Sub UserForm_Initialize() Me.StartUpPosition = 0 Me.Top = Application.Top + (Application.Height / 2) – (Me.Height / 2) Me.Left = Application.Left + (Application.Width / 2) – (Me.Width / 2) With Me.ListBox1 .RowSource = "" .ColumnCount = 7 .ColumnWidths = "80;100;20;1;20;1;1000" .RowSource = Sheets("BOH Database").Range("H9:N14").Address ' .RowSource = Sheets("BOH Database").Range("H9:N" & Sheets("BOH Database").Range("a65536").End(xlUp).Row – 1).Address […]