带有输入框的 If 语句 - 不工作
If Statement with an InputBox - Not Working
我正在尝试编写一个宏来查看单元格并告诉我它是否为空,如果为空,则打开一个输入框来填充单元格。无论单元格是否为空,下面的代码都不会打开消息框。 C37 是一个合并的单元格,我知道它可能会把事情搞砸。我在这里错过了什么?
If IsEmpty("C37") Then
Dim SIGN As String 'Sign-off
SIGN = InputBox("Enter Your Name:", "Dispositioned By:")
Range("C37").Value = SIGN
Range("G37").Value = Format(Now(), "MM/DD/YYYY")
Else
Range("B26").Select
End If
更新:
使用 ActiveSheet
If IsEmpty(ActiveWorkbook.ActiveSheet.Range("C23")) Then
Dim SIGN As String 'Sign-off
SIGN = InputBox("Enter Your Name:", "Dispositioned By:")
Range("C23").Value = SIGN
Range("G23").Value = Format(Now(), "MM/DD/YYYY")
Else
Range("B13").Select
End If
End With
是我最终得到的新代码。即使单元格为 "empty"
,这也不会打开输入框
我应该使用与 IsEmpty 不同的短语吗?
If IsEmpty(ThisWorkbook.Worksheets("Sheet1").Range("C37"))
问题是您没有告诉 IsEmpty
函数检查范围。你告诉它检查 "C37" 这是一个字符串文字而不是一个范围对象。
If IsEmpty(Range( "C37" )) = True 然后
SIGN = InputBox("Enter Your Name:")
范围("C37").Value = SIGN
其他
您的代码
好的。我已经解决了我的问题。
我有一个按钮可以重置此表单以清除单元格的内容并重新开始。
不幸的是,我找不到轻松清除合并单元格内容的方法,因此我使用了
Range("MERGEDCELL").Value = " "
基本上使单元格空白。但是,我的 IsEmpty 不会将这些单元格视为空的,因为它们中有一个 space,因此为什么当它对我来说看起来是空的(但它不是)时 InputBox 不会弹出...
我四处寻找清除合并单元格内容的替代方法,但收效甚微。如果有人在该领域有建议,请告诉我。再次感谢大家所做的一切。
我正在尝试编写一个宏来查看单元格并告诉我它是否为空,如果为空,则打开一个输入框来填充单元格。无论单元格是否为空,下面的代码都不会打开消息框。 C37 是一个合并的单元格,我知道它可能会把事情搞砸。我在这里错过了什么?
If IsEmpty("C37") Then
Dim SIGN As String 'Sign-off
SIGN = InputBox("Enter Your Name:", "Dispositioned By:")
Range("C37").Value = SIGN
Range("G37").Value = Format(Now(), "MM/DD/YYYY")
Else
Range("B26").Select
End If
更新:
使用 ActiveSheet
If IsEmpty(ActiveWorkbook.ActiveSheet.Range("C23")) Then
Dim SIGN As String 'Sign-off
SIGN = InputBox("Enter Your Name:", "Dispositioned By:")
Range("C23").Value = SIGN
Range("G23").Value = Format(Now(), "MM/DD/YYYY")
Else
Range("B13").Select
End If
End With
是我最终得到的新代码。即使单元格为 "empty"
,这也不会打开输入框我应该使用与 IsEmpty 不同的短语吗?
If IsEmpty(ThisWorkbook.Worksheets("Sheet1").Range("C37"))
问题是您没有告诉 IsEmpty
函数检查范围。你告诉它检查 "C37" 这是一个字符串文字而不是一个范围对象。
If IsEmpty(Range( "C37" )) = True 然后
SIGN = InputBox("Enter Your Name:")
范围("C37").Value = SIGN
其他
您的代码
好的。我已经解决了我的问题。
我有一个按钮可以重置此表单以清除单元格的内容并重新开始。
不幸的是,我找不到轻松清除合并单元格内容的方法,因此我使用了
Range("MERGEDCELL").Value = " "
基本上使单元格空白。但是,我的 IsEmpty 不会将这些单元格视为空的,因为它们中有一个 space,因此为什么当它对我来说看起来是空的(但它不是)时 InputBox 不会弹出...
我四处寻找清除合并单元格内容的替代方法,但收效甚微。如果有人在该领域有建议,请告诉我。再次感谢大家所做的一切。