Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 来自用户输入和变量的文本比较_Vba_Excel - Fatal编程技术网

Vba 来自用户输入和变量的文本比较

Vba 来自用户输入和变量的文本比较,vba,excel,Vba,Excel,我正在excel中处理一个userform,希望对userform前面部分的两个输入进行比较,如果文本匹配,将启用一个命令按钮。我是VBA的新手,有很多我想做的工作,但这一部分让我感到困惑(我想这是因为我缺乏所有的编程能力,这就是为什么我不能解决这个问题的原因)。以下是我想做的基本操作:用户需要输入他们的名字和姓氏(加上许多其他内容),单击一些框,然后阅读一条语句,选中他们阅读的框,然后在文本框中再次输入他们的名字(如签名验证类型),因此,将第1页中的名字和姓氏与用户在签名文本框中键入的内容进行

我正在excel中处理一个userform,希望对userform前面部分的两个输入进行比较,如果文本匹配,将启用一个命令按钮。我是VBA的新手,有很多我想做的工作,但这一部分让我感到困惑(我想这是因为我缺乏所有的编程能力,这就是为什么我不能解决这个问题的原因)。以下是我想做的基本操作:用户需要输入他们的名字和姓氏(加上许多其他内容),单击一些框,然后阅读一条语句,选中他们阅读的框,然后在文本框中再次输入他们的名字(如签名验证类型),因此,将第1页中的名字和姓氏与用户在签名文本框中键入的内容进行比较。然后,当验证后,“保存”功能被启用。以下是我目前掌握的代码:

Public Fname As String
Public Lname As String

Private Sub Cmd_HI_Click()

Fname = txt_Fname.Value
Debug.Print Fname
Lname = txt_Lname.Value
Debug.Print Lname
'lots of other code here
end sub

Private Sub TB_electronicSignature_Change()
If TB_electronicSignature.Value = Fname & Lname Then
cmd_add.Enabled = True
End If
End Sub

如果需要的话,我可以添加更多内容,但这就是要点,我想我要做的不仅仅是简单地询问Fname和Lname是否正确,我还需要做更多的事情才能让验证生效。谢谢你的帮助

你没有解释问题出在哪里,但我觉得问题还没有显现出来。 电子签名框可能在名字和姓氏之间有一个空格,因此您应该使用:

If TB_electronicSignature.Value = Fname & " " & Lname Then
cmd_add.Visible = True

这是a吗?不清楚你在问什么。如果您的问题是“为了验证用户,我应该执行哪些其他验证?”,那么这不是编程问题;这是一个商业规则问题,或者可能是一个问题。如果问题是“我遇到了编译时或运行时错误”或“代码没有按照我的预期工作”,那么这是正确的位置,但您应该提供更多信息,例如错误是什么,或者实际行为与您的预期有何不同。巴辛加,玩得好!虽然没有太大的错误,但我没有显示“保存”功能按钮,因为名字和姓氏的比较不一样,我不知道为什么它们不一样……可能是一个简单的椅子键盘界面问题……我想这将是有用的信息,我希望“保存按钮”变得可见。谢谢