Vba 运行时错误';9';:命名图纸时下标超出范围
下面是我正在调试的Excel宏,但我以前从未使用过这些宏 行Vba 运行时错误';9';:命名图纸时下标超出范围,vba,excel,subscript,Vba,Excel,Subscript,下面是我正在调试的Excel宏,但我以前从未使用过这些宏 行Set log=Sheets(“Quote log”)以黄色突出显示,错误为Sheets(“Quote log”)=下标超出范围 1您没有具有该名称的工作表2如果您可以直观地看到它,那么它可能有前导空格或尾随空格,或者它在另一个工作簿中。顺便说一句Dim UAI,customer,today,prodNum,name As String正在将名称声明为字符串,而其他一切都是隐式的变体。Dim row,rowSize,x作为整数,其中x是
Set log=Sheets(“Quote log”)
以黄色突出显示,错误为Sheets(“Quote log”)
=下标超出范围
1
您没有具有该名称的工作表2
如果您可以直观地看到它,那么它可能有前导空格或尾随空格,或者它在另一个工作簿中。顺便说一句Dim UAI,customer,today,prodNum,name As String
正在将名称
声明为字符串
,而其他一切都是隐式的变体
。Dim row,rowSize,x作为整数
,其中x
是一个整数
,行
和行大小
是隐式的变量
。我的外接程序可以为您解决此问题。因此,名称应该是我试图在其上生成宏的文件的名称?否。Sheets(“Quote Log”)
希望从任何活动工作簿的Sheets
集合(应该是工作表
集合BTW)中提取名为“Quote Log”的工作表,错误告诉您工作簿中没有“报价日志”工作表。要么您激活了错误的书籍,要么您错贴了图纸名称,要么用户进入并重命名了图纸,或者诸如此类。Sheets
集合中没有“报价日志”工作表。@SiddharthRout谢谢!现在我需要它能够从使用情况推断类型,并且检查+快速修复将完成!=)
Sub Feasibility()
Dim Feasibility As Workbook
Dim FeasibilitySheet, log As Worksheet
Dim row, rowSize, x As Integer
Dim UAI, customer, today, prodNum, name As String
Set log = Sheets("Quote Log")
Application.ScreenUpdating = False
If checkSelection() Then
row = getSelectionRow()
rowSize = getSelectionRowSize()
For x = row To rowSize
Set Feasibility = Workbooks.Open(Environ$("UserProfile") & "\My Documents\" & "QF-010 UMD Team Feasibility R1.xlsx")
Set FeasibilitySheet = Feasibility.Sheets("Feasibility")
UAI = log.Cells(x, 1)
customer = log.Cells(x, 2)
prodNum = log.Cells(x, 5)
name = log.Cells(x, 6)
today = log.Cells(x, 17)
FeasibilitySheet.Range("B3") = customer
FeasibilitySheet.Range("F3") = today
FeasibilitySheet.Range("C4") = prodNum
FeasibilitySheet.Range("C5") = name
FeasibilitySheet.Range("D41") = today
FeasibilitySheet.Range("D43") = today
FeasibilitySheet.Range("E45") = today
Feasibility.SaveAs Environ$("UserProfile") & "\My Documents\" & _
"Feasibility " & prodNum & " " & UAI & ".xls"
Feasibility.Close
Next
End If
''''
Application.ScreenUpdating = True
'RFI
End Sub