Tag: 格式的用户表单

根据行数自动创build文本框

有没有在VBA Excel用户窗体的方式来自动创build基于特定工作表上的行数在用户窗体上的文本框? 我的数据是从A1开始的Sheet 1,是: A1:发票date B1:发票号 C1:发票金额 D1:收到付款 现在有很多行数据(发票),而且不可能知道有多less行与特定的客户有关。 当发票date,发票号码和发票金额将从工作表1中取出时,付款收到的文本框将被清空。 那么就很容易填写付款收到的文本框付款可以应用于特定的发票。

在VBA中填入文本框的2个date之间的差异

我有2个文本框捕获从各自的dateselect器中select的date。 我想在这些date之间的天差异。 当我运行我的表单时,我一直无法获取工作表函数类错误的networkdays属性。 我的代码: Dim Holidays As Range Set Holidays = Worksheets("Holidays").Range("A:A") If IsEmpty(TextBox1.Value) = True Then TATtxt.Value = "" ElseIf IsEmpty(TextBox1.Value) = False And TextBox2.Value <= TextBox1.Value Then TATtxt.Value = _ WorksheetFunction.NetworkDays(TextBox2.Value, TextBox1.Value, Holidays) End If 截图:

Excel VBA – 在用户表单多行文本框中双击单词

任务 :我的目标是双击后从UserForm的多行TextBox提取突出显示的单词。 使用属性 :虽然通过TextBox属性.SelStart和.SelLength突出显示给定的string位置是绝对没有问题的,但.SelLength却不那么容易:用户DblClick突出显示整个string,但Excel不会重置可以假定突出显示的文本的起始位置处的.SelStart值保持在用户双击的位置。 我的问题 :是否有可能直接捕捉应用程序设置的突出显示的文本起始位置? 我的工作 :我将演示一个非常简单的解决方法,通过检查以下和之前的例如20个左右字母来实际点击位置来重build高亮度的单词(当然,也可以使用正则expression式,并细化示例代码): Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) Dim sTxt, sSel As String Dim selPos, i, i2 As Long TextBox1.SetFocus ' this is the User's DblClick Position, ' but not the starting Position of the highlighted Word ' after DblClick selPos = TextBox1.SelStart sTxt = Replace(Replace(TextBox1.Text, vbCrLf, vbLf), "\", […]

从文本框中获取价值并将其存储在VBA中的variables中

我正在试图让一个应用程序从文本框中获取数据,并将其存储在一个variables中以供进一步使用,我将其值视为0。 任何人都可以帮忙吗? Dim value As Long value = Val(password.output.Caption) game.Caption = value 在上面的代码中,密码是我的表单名称,输出是从哪里获取数据的字段的名称,然后是将游戏字段的值更改为输出的值,我得到0作为值。 该干什么? 任何帮助将不胜感激 UPDATE 我真的想要检索string任何想法如何做到这一点?

格式化用户窗体中的文本框

我有一个用户窗体包含多种格式的文本框。 我有初始化为空(“”),然后使用afterupdate()格式化它们。 这一切工作正常,我的问题来自于用户错过键入数据的可能性,或者只是在屏幕上漫无目的地点击。 input一个值后,从文本框中移动时,它将正确格式化。 但是,如果您重新select文本框然后再移开,它将清除该值。 如果你使用格式为百分比的文本框来实现这个function,那么实际上会出现一个不匹配的错误。 这是我目前的代码的一部分: Private Sub UserForm_Initialize() ValueAnalysisTextBox.Value = "" CapRateTextBox.Value = "" End Sub Private Sub ValueAnalysisTextBox_AfterUpdate() ValueAnalysisTextBox.Value = Format(Val(ValueAnalysisTextBox.Value), "$#,###") End Sub Private Sub CapRateTextBox_AfterUpdate() CapRateTextBox.Value = Format(Val(CapRateTextBox.Value) / 100, "Percent") End Sub 任何关于如何清理这个问题的想法都会很棒。