我希望msgBox在2010年显示单元格的定义名称而不是单元格地址

时间:2013-04-23 14:48:57

标签: vba excel-2010

我使用下面的代码验证单元格在保存工作簿之前是否有信息。该程序工作正常,但显示单元格地址($ P $ 14)。我希望它显示单元格定义的名称(CompanyName)。

For Each myRange In .Range("P14,P20,P23,P26,P29,P32,P33,P39")

    If myRange.Value = 0 And myRange.Offset(0, 0) = "" Then

        MsgBox ("You must make an entry in ") & myRange.Offset(0, 0).Address

        Cancel = True

    End If

Next myRange

1 个答案:

答案 0 :(得分:1)

如果你的意思是Cell的定义名称,你添加文本的列中的第一行(即“A1”,“B1”等)(例如你提到的“公司名称”)你可以这样做:
Target.Worksheet.Cells(1, Target.Column).Value

如果您指的是特定Cell的“给定名称”,即从(例如)“A1”重命名为“uncleFOO”,那么您必须参考
{ {1}}例如,[object].Name.Name

希望这有帮助!