如果语句与一个InputBox – 不工作
我正在尝试编写一个查看单元格的macros,并告诉我它是否为空,如果是,则打开一个input框来填充单元格。 无论单元格是否为空,下面的代码都不会打开消息框。 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
是我结束了新的代码。 即使单元格为“空”,也不会打开input框,
是否有一个不同的短语,我应该使用比IsEmpty?
If IsEmpty(ThisWorkbook.Worksheets("Sheet1").Range("C37"))
问题是你没有告诉IsEmpty
函数来检查一个范围。 你告诉它检查“C37”这是一个string文字,而不是范围对象。
好的。 我解决了我的问题。
我有一个button,重置此表单来清除单元格的内容并重新开始。
不幸的是,我找不到方法来轻松清除合并单元格的内容,所以我使用了
Range("MERGEDCELL").Value = " "
基本上使单元变成空白。 然而,我的IsEmpty不会看到这些单元格为空,因为它们中有一个空格,所以为什么当它看起来对我来说是空的(但不是)InputBox不会popup…
我已经寻找替代scheme来清除合并单元格的内容,但几乎没有成功。 如果有人有这方面的build议,让我知道。 再次感谢所有人。
如果IsEmpty(Range(“C37”))= True那么
SIGN = InputBox(“input您的姓名:”)
范围(“C37”)。值= SIGN
其他
你的代码