Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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
Excel 启用编辑后,范围(“我的名字”)失败_Excel_Vba - Fatal编程技术网

Excel 启用编辑后,范围(“我的名字”)失败

Excel 启用编辑后,范围(“我的名字”)失败,excel,vba,Excel,Vba,我有一个启用宏的电子表格。 在“ThisWorkbook”区域中,我有一个例行程序来检查用户可以单击的位置。 以下是代码的摘录: Private Sub Workbook_SheetSelectionChange(ByVal sh As Object, ByVal Target As Range) Dim WhichNumbers As String Dim WhichData As String Dim WhichStatuses As String Dim ToAddress As Str

我有一个启用宏的电子表格。 在“ThisWorkbook”区域中,我有一个例行程序来检查用户可以单击的位置。 以下是代码的摘录:

Private Sub Workbook_SheetSelectionChange(ByVal sh As Object, ByVal Target As Range)

Dim WhichNumbers As String
Dim WhichData As String
Dim WhichStatuses As String
Dim ToAddress As String
Dim CCAddress As String
Dim sFound As String
Dim wsTemp As Workbook
Dim sThisQuoteNumber As String
Dim pdfShell As Object

If sh.Name = "Report" Then
' If we intersect with one of the Quote Numbers, then present him with a view of the PDF of the quote.
If Not Intersect(Target, Range("QuoteNumber")) Is Nothing And (Selection.Count = 1) Then
    iRow = Target.Row
 .....
以下是正在发生的事情: 这段代码运行良好。 我通过电子邮件将文件发送给另一个用户,当他通过电子邮件打开文件时,或者如果他将文件保存在自己的驱动器上并打开文件,文件看起来很好,但顶部有一条消息说您必须启用编辑。 当您点击“启用”按钮时,程序将停止,并出现一个错误,指示Range(“QuoteNumber”)方法失败。 消息框允许您“结束”或“调试”。 如果点击“结束”,则消息框清除,程序从此开始正常工作

知道发生了什么吗?我该如何阻止这种情况的发生,以免我的用户的脸“爆炸”


Rich

为了确保,您将命名范围“QuoteNumber”定义为工作簿范围,对吗?此外,此工作簿中还包含“QuoteNumber”范围

我将“QuoteNumber”定义为工作簿范围,其范围在“Repot”表中,我使用了范围(A1:C10)。 当我通过电子邮件发送此工作簿(附上下面的代码)时,我的同事(在他的电脑上)点击了“报告”表(单元格B3)范围内的一个单元格(A1:C10),他收到了我的测试“行数为3”


为了确保,您将命名范围“QuoteNumber”定义为工作簿范围,对吗?此外,此工作簿中还包含“QuoteNumber”范围

我将“QuoteNumber”定义为工作簿范围,其范围在“Repot”表中,我使用了范围(A1:C10)。 当我通过电子邮件发送此工作簿(附上下面的代码)时,我的同事(在他的电脑上)点击了“报告”表(单元格B3)范围内的一个单元格(A1:C10),他收到了我的测试“行数为3”


是的,我的QuoteNumber在此工作表上,范围为工作簿。当您将文件通过电子邮件发送给朋友时,他是否收到您必须启用编辑的消息?当您单击“启用编辑”按钮时,会发生错误。是的,我的QuoteNumber在此工作表中,其作用域为工作簿。当您将文件通过电子邮件发送给朋友时,他是否收到您必须启用编辑的消息?单击“启用编辑”按钮时会发生错误。
Private Sub Workbook_SheetSelectionChange(ByVal sh As Object, ByVal Target As Range)

Dim WhichNumbers As String
Dim WhichData As String
Dim WhichStatuses As String
Dim ToAddress As String
Dim CCAddress As String
Dim sFound As String
Dim wsTemp As Workbook
Dim sThisQuoteNumber As String
Dim pdfShell As Object

If sh.Name = "Report" Then
    ' If we intersect with one of the Quote Numbers, then present him with a view of the PDF of the quote.
    If Not Intersect(Target, Range("QuoteNumber")) Is Nothing And (Selection.Count = 1) Then
        iRow = Target.Row
        MsgBox "Row number is " & iRow
    End If
End If

End Sub