Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.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 vba_Excel_Vba_Subscript - Fatal编程技术网

下标超出范围excel vba

下标超出范围excel vba,excel,vba,subscript,Excel,Vba,Subscript,所以我有一个宏,可以做一些基本的事情,它就像一个符咒。 但是,当其他任何人尝试打开工作表并从PC运行宏时,他们得到的错误下标超出范围 请帮帮我,我快疯了:@ Sub Refresh() MSG1 = MsgBox("Are you Connected to (XY) Network?", vbYesNo, "?") If MSG1 = vbYes Then MsgBox "Refresh in Progress" Workbooks("Contact Center Dashboard").W

所以我有一个宏,可以做一些基本的事情,它就像一个符咒。 但是,当其他任何人尝试打开工作表并从PC运行宏时,他们得到的错误下标超出范围 请帮帮我,我快疯了:@

Sub Refresh()

MSG1 = MsgBox("Are you Connected to (XY) Network?", vbYesNo, "?")
If MSG1 = vbYes Then

MsgBox "Refresh in Progress"
Workbooks("Contact Center Dashboard").Worksheets("CONTACT TRACKER").Activate
ActiveSheet.Range("A4").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False


'====================='
'    Unlock Sheets    '
'====================='

Workbooks("Contact Center Dashboard").Worksheets("SUMMARY").Unprotect Password:="nn"
Workbooks("Contact Center Dashboard").Worksheets("DETAILED").Unprotect Password:="nn"
Workbooks("Contact Center Dashboard").Worksheets("ANALYSIS").Unprotect Password:="nn"


'====================='
'      Initialize     '
'====================='

Dim ptc As PivotTable

'====================='
' Refreshing Dash - 1 '
'====================='

Set ptc = Workbooks("Contact Center Dashboard").Worksheets("SUMMARY").PivotTables("1. CALL SUMMARY - MAIN")
ptc.RefreshTable

'====================='
'      Lock Sheet     '
'====================='

Workbooks("Contact Center Dashboard").Worksheets("SUMMARY").Protect Password:="nn", AllowUsingPivotTables:=True
Workbooks("Contact Center Dashboard").Worksheets("DETAILED").Protect Password:="nn", AllowUsingPivotTables:=True
Workbooks("Contact Center Dashboard").Worksheets("ANALYSIS").Protect Password:="nn", AllowUsingPivotTables:=True


Workbooks("Contact Center Dashboard").Worksheets("SUMMARY").Activate

MsgBox "Dashboard Successfully Refresshed"

Else
MsgBox "You can still use the dashboard but the numbers will not be updated" & vbNewLine & vbNewLine & vbNewLine & "To get the latest update, do the following:" & vbNewLine & vbNewLine & "1- Please connect to XY local network or through VPN " & vbNewLine & "2- Click (REFRESH DATA)"

End If
End Sub

这是最后的工作脚本,以备将来任何人遇到类似问题时参考

Sub Refresh()

MSG1 = MsgBox("Are you Connected to (XY) Network?", vbYesNo, "?")
If MSG1 = vbYes Then

MsgBox "Refresh in Progress"
ActiveWorkbook.Worksheets("CONTACT TRACKER").Activate
ActiveSheet.Range("A4").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False

'====================='
'    Unlock Sheets    '
'====================='

ActiveWorkbook.Worksheets("SUMMARY").Unprotect Password:="nn"
ActiveWorkbook.Worksheets("DETAILED").Unprotect Password:="nn"
ActiveWorkbook.Worksheets("ANALYSIS").Unprotect Password:="nn"


'====================='
'      Initialize     '
'====================='

Dim ptc As PivotTable

'====================='
' Refreshing Dash - 1 '
'====================='

Set ptc = ActiveWorkbook.Worksheets("SUMMARY").PivotTables("1. CALL SUMMARY - MAIN")
ptc.RefreshTable

'====================='
'      Lock Sheet     '
'====================='

ActiveWorkbook.Worksheets("SUMMARY").Protect Password:="nn", AllowUsingPivotTables:=True
ActiveWorkbook.Worksheets("DETAILED").Protect Password:="nn", AllowUsingPivotTables:=True
ActiveWorkbook.Worksheets("ANALYSIS").Protect Password:="nn", AllowUsingPivotTables:=True


ActiveWorkbook.Worksheets("SUMMARY").Activate

MsgBox "Dashboard Successfully Refresshed"

Else
MsgBox "You can still use the dashboard but the numbers will not be updated" & vbNewLine & vbNewLine & vbNewLine & "To get the latest update, do the following:" & vbNewLine & vbNewLine & "1- Please connect to XY local network or through VPN " & vbNewLine & "2- Click (REFRESH DATA)"

End If
End Sub

错误出现在哪一行?当您试图选择不存在的内容时,通常会出现此错误。问题可能是工作簿在不同的计算机上打开时具有不同的名称,从而导致WorkbooksContact Center仪表板选择器失败。编辑看到您正在保护您的工作表,您是否禁止用户“选择锁定/解锁的单元格”?这可能是另一个原因。无论如何,请让我们知道宏崩溃的地方。我试过了,但它没有指向任何地方。只是一个错误框,这是调试按钮变灰了?如果是,宏密码是否受保护?如果是,请打开VBA编辑器,输入密码,保持窗口打开,然后再次运行宏。现在,“调试”按钮应该可用了。如果所有这些都失败了,那么其他计算机与您的计算机有何不同?我的意思是,他们的Excel环境有何不同?不同的文件名、权限、锁定/解锁/隐藏的工作表?我将工作表的名称更改为Active工作簿,工作正常。谢谢你的建议:我的意思是说我改变了代码中工作表引用的名称