我正在尝试为用户创建用户表单以输入文本,该文本将设置为工作表名称。因为工作表名称不能超过30个字符,我想添加一个警告。但在宏观中,它给了我一个错误。
我正在检查这个场景;
首先,我写的名字超过30个字符。 它给了我写的错误。 (很棒) 然后再次把我带到输入屏幕(这很棒) 然后我写了正确的名字(短于30个字符。) 它给了我运行时错误' 1004;应用程序定义或对象定义的错误。
代码是这样的;
Yeni_Sheet_Adi_Olustur.Show
If Yeni_Sheet_Adi_Olustur.Yeni_Sheet = "" Then
MsgBox "Lütfen Sheet adi seçiniz"
GoTo son
ElseIf Len(Yeni_Sheet_Adi_Olustur.Yeni_Sheet) > 30 Then
MsgBox "Sheet adi 30 karakterden kisa olmalidir"
Yeni_Sheet_Adi_Olustur.Show
Else
Yeni_Sheet = CStr(Yeni_Sheet_Adi_Olustur.Yeni_Sheet.Value)
End If
Yeni_Sheet_Adi_Olustur.Yeni_Sheet给我"对象变量或With block变量未设置" F8控制错误。 :(
我愿意接受任何建议。非常感谢你。
答案 0 :(得分:0)
我想通了,我错过了那个部分,在输入更长的30个字符之后会发生什么,所以我添加了一个“GoTo”代码。现在它看起来像这样并且效果很好;
Son1:
Yeni_Sheet_Adi_Olustur.Show
If Yeni_Sheet_Adi_Olustur.Yeni_Sheet = "" Then
MsgBox "Lütfen Sheet adi seçiniz"
GoTo son
ElseIf Len(Yeni_Sheet_Adi_Olustur.Yeni_Sheet) > 30 Then
MsgBox "Sheet adi 30 karakterden kisa olmalidir"
Yeni_Sheet_Adi_Olustur.Hide
GoTo Son1
Else
Yeni_Sheet = CStr(Yeni_Sheet_Adi_Olustur.Yeni_Sheet.Value)
End If