【发布时间】:2015-07-03 23:18:24
【问题描述】:
我在 Excel 2010 中有一个子程序,当我运行它时它会标记应用程序定义或对象定义的错误。 sub 应该使用从 Access 2010 中提取的数据填充工作表。这最初是在 Row_Rehab = Row_Rehab + 1 标记溢出错误。我将Row_Rehab 从整数更改为长整数。现在我收到了这个应用程序定义的错误。
错误发生在第 3 行(第一个 If Worksheets...。
Do
Row_Rehab = Row_Rehab + 1
If Worksheets("Rehab").Cells(Row_Rehab, 1) = Worksheets("Raw Export").Cells(Row_Export, 1) And Worksheets("Rehab").Cells(Row_Rehab, 2) = Worksheets("Raw Export").Cells(Row_Export, 2) Then
Do
Row_Rehab = Row_Rehab + 1
If Worksheets("Rehab").Cells(Row_Rehab, 1) = "" And Worksheets("Rehab").Cells(Row_Rehab, 2) = "" And Worksheets("Rehab").Cells(Row_Rehab, Rehab_GWP_Col) = "" Then
ProjLine.Copy Destination:=Worksheets("Rehab").Range(Worksheets("Rehab").Cells(Row_Rehab, 1), Worksheets("Rehab").Cells(Row_Rehab, numCol))
Exit Do
End If
Loop
Exit Do
End If
Loop
我可以做些什么来修复这个错误?
编辑:这是此过程的完整代码。
Sub Populate_Rehab()
Dim Row_Export As Long
Dim Row_Rehab As Long
Dim Funding As String
Dim PROJ As String
Dim WorkType As String
Dim Dom As Integer
Dim Rehab_PROJ_Col As Integer
Dim Export_PROJ_Col As Integer
Dim Rehab_WorkType_Col As Integer
Dim PROJ_Row As Integer
Dim flag As Boolean
Dim Export_SF_Col As Integer
Dim Export_Column As Integer
Dim RawExport_Col(255) As Integer
Dim numRecords As Long
Dim numCol As Integer
Dim line As Range
Dim PROJLine As Range
Dim WPLine As Range
Dim numSF As Integer
Dim SF As Integer
Dim col As Integer
Dim startCol, startCol2 As Integer
Dim SFflag As Boolean
Dim SF_Row As Integer
Dim SF_type As String
Dim i, j As Integer 'used in for loop
Dim SFInfo As Range
Dim numP As Integer
Dim strSearch As String
Dim aCell As Range
Dim startColExp As Integer
Dim colPriority As Integer
Dim colEngComment As Integer
Dim colSubmissionCRO As Integer
Dim colActualSubmissionCRO As Integer
Dim colEmpty As Integer
Dim colEmptyS As String
Dim colEmptyE As String
Dim statusP As Integer
Dim wks As Integer
RawExport_Col(0) = 0
RawExport_Col(1) = 0
RawExport_Col(2) = 0
RawExport_Col(3) = 0
RawExport_Col(4) = 5
RawExport_Col(5) = 1
RawExport_Col(6) = 2
RawExport_Col(7) = 3
RawExport_Col(8) = 4
RawExport_Col(9) = 6
RawExport_Col(10) = 7
RawExport_Col(11) = 7
RawExport_Col(12) = 8
RawExport_Col(13) = 10
RawExport_Col(14) = 11
RawExport_Col(15) = 12
RawExport_Col(16) = 13
RawExport_Col(17) = 13
RawExport_Col(18) = 17
RawExport_Col(19) = 17
RawExport_Col(20) = 18
RawExport_Col(21) = 19
RawExport_Col(22) = 20
RawExport_Col(23) = 21
RawExport_Col(24) = 22
RawExport_Col(25) = 23
RawExport_Col(26) = 26
RawExport_Col(27) = 27
RawExport_Col(28) = 28
RawExport_Col(29) = 29
RawExport_Col(30) = 30
RawExport_Col(31) = 31
RawExport_Col(32) = 32
RawExport_Col(33) = 33
RawExport_Col(34) = 0
RawExport_Col(35) = 31
RawExport_Col(36) = 34
RawExport_Col(37) = 35
RawExport_Col(38) = 36
RawExport_Col(39) = 37
RawExport_Col(40) = 38
RawExport_Col(41) = 39
RawExport_Col(42) = 40
RawExport_Col(43) = 14
RawExport_Col(44) = 0
RawExport_Col(45) = 0
RawExport_Col(46) = 0
RawExport_Col(47) = 0
RawExport_Col(48) = 0
RawExport_Col(49) = 0
RawExport_Col(50) = 0
RawExport_Col(51) = 0
RawExport_Col(52) = 0
RawExport_Col(53) = 0
RawExport_Col(54) = 0
RawExport_Col(55) = 0
RawExport_Col(56) = 0
colPriority = 9
colEngComment = 15
colSubmissionCRO = 24
colActualSubmissionCRO = 25
Export_SF_Col = 34
Rehab_PROJ_Col = 7
Export_PROJ_Col = 10
Rehab_WorkType_Col = 22
'search the first added extra column
strSearch = "SOPri"
Set aCell = Worksheets("Raw Export").Rows(1).Find(What:=strSearch, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not aCell Is Nothing Then
numP = aCell.Column
End If
'Get the funding types/total number of funding types
With Worksheets("Template")
numSF = .Range(.Cells(12, 1), .Cells(12, 1).End(xlToRight)).Count - 2
End With
'Count number of records from dataset
With Worksheets("Raw Export")
numRecords = .Range(.Cells(2, 3), .Cells(2, 3).End(xlDown)).Count
End With
'define expansion column
startColExp = numP + 17
RawExport_Col(startColExp) = numSF + 41
RawExport_Col(startColExp + 1) = numSF + 42
RawExport_Col(startColExp + 2) = numSF + 43
RawExport_Col(startColExp + 3) = numSF + 44
RawExport_Col(startColExp + 4) = numSF + 45
RawExport_Col(startColExp + 5) = numSF + 46
RawExport_Col(startColExp + 6) = numSF + 47
RawExport_Col(startColExp + 7) = numSF + 48
'add allocation fomula if its expansion
If Worksheets("Parameters").Cells(18, 14) = "Expansion" Then
With Worksheets(2)
For j = 0 To 7
.Cells(globalAllocation, 41 + numSF + j).FormulaR1C1 = "=SUM(R[-" + CStr(globalAllocation - 3) + "]C:R[-1]C)"
.Cells(globalAllocation + 2, 41 + numSF + j).FormulaR1C1 = "=SUM(R[3]C:R[65523]C)"
.Cells(globalAllocation + 3, 41 + numSF + j).FormulaR1C1 = "=R[-3]C-R[-1]C"
.Range(.Cells(globalAllocation, 41 + numSF), .Cells(globalAllocation + 3, 41 + numSF + 7)).NumberFormat = "$#,##0"
Worksheets("Template").Range("BD2:BK2").Copy Destination:=.Range(.Cells(2, 41 + numSF), .Cells(2, 41 + numSF + 7))
.Range(.Cells(2, 41 + numSF), .Cells(2, 41 + numSF + 7)).ColumnWidth = 13.71
.Range(.Cells(2, 41 + numSF), .Cells(2, 41 + numSF + 7)).NumberFormat = "$#,##0"
Next
End With
For wks = 3 To (Worksheets.Count) - 2
With Worksheets(wks)
For j = 0 To 7
.Cells(5, 41 + numSF + j).FormulaR1C1 = "=SUM(R[3]C:R[65531]C)"
.Cells(6, 41 + numSF + j).FormulaR1C1 = "=R[-3]C-R[-1]C"
Worksheets("Template").Range("BD2:BK2").Copy Destination:=.Range(.Cells(2, 41 + numSF), .Cells(2, 41 + numSF + 7))
.Range(.Cells(2, 41 + numSF), .Cells(2, 41 + numSF + 7)).ColumnWidth = 13.71
.Range(.Cells(5, 41 + numSF), .Cells(6, 41 + numSF + 7)).NumberFormat = "$#,##0"
Next
End With
Next
End If
'This will count the number of columns to include as per the header
With Worksheets("Template")
numCol = .Range(.Cells(2, 1), .Cells(2, RawExport_Col(36)).End(xlToRight)).Count
'Set the PROJ and WP template line
Set PROJLine = .Range(.Cells(6, 1), .Cells(6, numCol))
Set WPLine = .Range(.Cells(8, 1), .Cells(8, numCol))
End With
'----------------------------------START POPULATE THE SHEETS
Row_Export = 1
Do
Row_Export = Row_Export + 1
SFflag = False 'set flag false since new PROJ
'Set status bar
statusP = CInt((Row_Export - 1) / (numRecords + 1) * 100)
If statusP = 10 Or statusP = 30 Or statusP = 60 Or statusP = 90 Then
Application.Wait (Now() + 0.00001)
End If
Application.StatusBar = "Please wait while performing task 7 (" + CStr(statusP) + "%) of 7 ..."
If Worksheets("Raw Export").Cells(Row_Export, 3) = "" Then 'Funding Area
Exit Do
ElseIf Not (Worksheets("Raw Export").Cells(Row_Export, 1) = "" Or Worksheets("Raw Export").Cells(Row_Export, 2) = "") Then
With Worksheets("Rehab")
Row_Rehab = .Range(.Cells(2, RawExport_Col(32)), .Cells(2, RawExport_Col(32)).End(xlDown)).Count + 2
End With
Do
Row_Rehab = Row_Rehab + 1
If Worksheets("Rehab").Cells(Row_Rehab, 1) = Worksheets("Raw Export").Cells(Row_Export, 1) And Worksheets("Rehab").Cells(Row_Rehab, 2) = Worksheets("Raw Export").Cells(Row_Export, 2) Then
Do
Row_Rehab = Row_Rehab + 1
If Worksheets("Rehab").Cells(Row_Rehab, 1) = "" And Worksheets("Rehab").Cells(Row_Rehab, 2) = "" And Worksheets("Rehab").Cells(Row_Rehab, Rehab_PROJ_Col) = "" Then
PROJLine.Copy Destination:=Worksheets("Rehab").Range(Worksheets("Rehab").Cells(Row_Rehab, 1), Worksheets("Rehab").Cells(Row_Rehab, numCol))
Exit Do
End If
Loop
Exit Do
End If
Loop
PROJ = Worksheets("Raw Export").Cells(Row_Export, Export_PROJ_Col)
'-----------------------------PROJ LINE
For Export_Column = 4 To 10
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(Export_Column)) = Worksheets("Raw Export").Cells(Row_Export, Export_Column)
Next
For Export_Column = 13 To 16
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(Export_Column)) = Worksheets("Raw Export").Cells(Row_Export, Export_Column)
Next
If Worksheets("Raw Export").Cells(Row_Export, 18) = "" Then
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(18)) = Worksheets("Raw Export").Cells(Row_Export, 19)
ElseIf Worksheets("Raw Export").Cells(Row_Export, 19) = "" Then
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(18)) = Worksheets("Raw Export").Cells(Row_Export, 18)
End If
For Export_Column = 20 To 33
If Export_Column = 25 Then
If Worksheets("Raw Export").Cells(Row_Export, Export_Column) = True Then
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(Export_Column)) = "YES"
End If
ElseIf Export_Column = 27 Or Export_Column = 29 Then
If Worksheets("Raw Export").Cells(Row_Export, Export_Column) = True Then
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(Export_Column)).Font.Name = "Wingdings"
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(Export_Column)) = Chr(252)
End If
Else
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(Export_Column)) = Worksheets("Raw Export").Cells(Row_Export, Export_Column)
End If
Next
For Export_Column = 36 To 42
If Not Worksheets("Raw Export").Cells(Row_Export, Export_Column) = 0 Then
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(Export_Column)) = Worksheets("Raw Export").Cells(Row_Export, Export_Column)
End If
Next
Worksheets("Rehab").Cells(Row_Rehab, 14) = Worksheets("Raw Export").Cells(Row_Export, 43)
Worksheets("Rehab").Cells(Row_Rehab, 16) = Worksheets("Raw Export").Cells(Row_Export, numP + 10)
Worksheets("Rehab").Cells(Row_Rehab, colEngComment) = Worksheets("raw export").Cells(Row_Export, numP + 3)
Worksheets("rehab").Cells(Row_Rehab, colSubmissionCRO) = Worksheets("raw export").Cells(Row_Export, numP + 4)
Worksheets("Rehab").Cells(Row_Rehab, colPriority) = Worksheets("raw export").Cells(Row_Export, numP + 11)
If Worksheets("raw export").Cells(Row_Export, numP + 5) = False Then
Worksheets("rehab").Cells(Row_Rehab, colActualSubmissionCRO) = ""
Else
Worksheets("rehab").Cells(Row_Rehab, colActualSubmissionCRO) = Chr(252)
Worksheets("Rehab").Cells(Row_Rehab, colActualSubmissionCRO).Font.Name = "Wingdings"
End If
'----------Expansion only
If Worksheets("Parameters").Cells(18, 14) = "Expansion" Then
For Export_Column = startColExp To (startColExp + 7)
If Not Worksheets("raw export").Cells(Row_Export, Export_Column) = 0 Then
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(Export_Column)) = Worksheets("Raw Export").Cells(Row_Export, Export_Column)
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(Export_Column)).NumberFormat = "$#,##0"
End If
Next
End If
'-----------------------------------
PROJ_Row = Row_Rehab
Worksheets("Rehab").Rows(Row_Rehab).RowHeight = 12.75
Row_Rehab = Row_Rehab + 1
Worksheets("Rehab").Rows(Row_Rehab).EntireRow.Insert
Row_Rehab = Row_Rehab - 1
'-------------------SUBWB LINES
Do
If Not Worksheets("Raw Export").Cells(Row_Export, Export_PROJ_Col) = PROJ Then
Row_Export = Row_Export - 1
Exit Do
Else
Row_Rehab = Row_Rehab + 1
Worksheets("Rehab").Rows(Row_Rehab).EntireRow.Insert
WPLine.Copy Destination:=Worksheets("Rehab").Range(Worksheets("Rehab").Cells(Row_Rehab, 1), Worksheets("Rehab").Cells(Row_Rehab, numCol))
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(11)) = Worksheets("Raw Export").Cells(Row_Export, 11)
If Worksheets("Raw Export").Cells(Row_Export, 12) = True Then
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(12)) = "DOM"
End If
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(15)) = Worksheets("Raw Export").Cells(Row_Export, 15)
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(17)) = Worksheets("Raw Export").Cells(Row_Export, 17)
If Worksheets("Raw Export").Cells(Row_Export, 18) = "" Then
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(18)) = Worksheets("Raw Export").Cells(Row_Export, 19)
ElseIf Worksheets("Raw Export").Cells(Row_Export, 19) = "" Then
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(18)) = Worksheets("Raw Export").Cells(Row_Export, 18)
End If
For Export_Column = 20 To 24
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(Export_Column)) = Worksheets("Raw Export").Cells(Row_Export, Export_Column)
Next
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(35)) = Worksheets("Raw Export").Cells(Row_Export, 35)
WorkType = Worksheets("Rehab").Cells(Row_Rehab, Rehab_WorkType_Col)
Set line = Worksheets("Rehab").Range(Worksheets("Rehab").Cells(Row_Rehab, 1), Worksheets("Rehab").Cells(Row_Rehab, numCol))
If Not (InStr(UCase(WorkType), "STR") > 0) And Not (InStr(UCase(WorkType), "SAF") > 0) Then
line.Interior.ColorIndex = 36 'yellow
Worksheets("Rehab").Cells(Row_Rehab, colPriority) = Worksheets("raw export").Cells(Row_Export, numP + 2)
ElseIf InStr(UCase(WorkType), "STR") > 0 Then
line.Interior.ColorIndex = 34 'blue
Worksheets("Rehab").Cells(Row_Rehab, colPriority) = Worksheets("raw export").Cells(Row_Export, numP + 1)
ElseIf InStr(UCase(WorkType), "SAF") > 0 Then
line.Interior.ColorIndex = 38 'pink
Worksheets("Rehab").Cells(Row_Rehab, colPriority) = Worksheets("raw export").Cells(Row_Export, numP)
End If
'Check if special funding applies to this WP
'Check each special funding type
For SF = 1 To numSF 'for each special funding type - will not execute if none
startCol = Worksheets("Template").Cells(11, SF + 2)
'Designer
If Worksheets("Raw Export").Cells(Row_Export, numP + 6) = Worksheets("Template").Cells(12, SF + 2) Then
Worksheets("Rehab").Cells(PROJ_Row, RawExport_Col(42) + SF) = "YES"
If Not Worksheets("raw export").Cells(Row_Export, numP + 6) = "" Then
If Worksheets("Raw export").Cells(Row_Export, numP + 6) = "In House" Or Worksheets("raw export").Cells(Row_Export, numP + 10) = "" Then
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(42) + SF).Font.Name = "Wingdings"
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(42) + SF) = Chr(252)
Else
Worksheets("rehab").Cells(Row_Rehab, RawExport_Col(42) + SF) = Worksheets("raw export").Cells(Row_Export, numP + 10)
End If
End If
End If
'Delivery Method
If Worksheets("Raw Export").Cells(Row_Export, numP + 9) = Worksheets("Template").Cells(12, SF + 2) Then
Worksheets("Rehab").Cells(PROJ_Row, RawExport_Col(42) + SF) = "YES"
If Not Worksheets("raw export").Cells(Row_Export, numP + 9) = "" Then
Worksheets("rehab").Cells(Row_Rehab, RawExport_Col(42) + SF) = Worksheets("raw export").Cells(Row_Export, numP + 8)
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(42) + SF).WrapText = False
End If
End If
'SFunding
If Worksheets("raw export").Cells(Row_Export, Export_SF_Col) <> "MNDM Design Build" _
And Worksheets("raw export").Cells(Row_Export, Export_SF_Col) <> "MTO Design Build" _
And Worksheets("raw export").Cells(Row_Export, Export_SF_Col) <> "In House" Then
If Worksheets("Raw Export").Cells(Row_Export, Export_SF_Col) = Worksheets("Template").Cells(12, SF + 2) Then
Worksheets("Rehab").Cells(PROJ_Row, RawExport_Col(42) + SF) = "YES"
If Not Worksheets("raw export").Cells(Row_Export, 34) = "" Then
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(42) + SF).Font.Name = "Wingdings"
Worksheets("Rehab").Cells(Row_Rehab, RawExport_Col(42) + SF) = Chr(252)
End If
End If
End If
If Worksheets("Rehab").Cells(PROJ_Row, RawExport_Col(42) + SF) = "YES" Then
Worksheets("Rehab").Cells(PROJ_Row, RawExport_Col(42) + SF).Interior.ColorIndex = Worksheets("Rehab").Cells(2, RawExport_Col(42) + SF).Interior.ColorIndex
SFflag = True
End If
Next SF
Worksheets("Rehab").Rows(Row_Rehab).RowHeight = 12.75
Row_Export = Row_Export + 1
End If
Loop
'------------------------End SUBWP Line
'------------------------Special Funding Tabs
'Add to special funding tab iF special funding applied
If SFflag Then
For SF = 1 To numSF 'check if special funding type applies
If Worksheets("Rehab").Cells(PROJ_Row, RawExport_Col(42) + SF) = "YES" Then
'find place for that project in the tab
SF_type = Worksheets("Rehab").Cells(2, RawExport_Col(42) + SF)
With Worksheets(SF_type)
SF_Row = .Range(.Cells(2, RawExport_Col(32)), .Cells(2, RawExport_Col(32)).End(xlDown)).Count + 2
End With
Do 'Find the header
SF_Row = SF_Row + 1
If Worksheets(SF_type).Cells(SF_Row, 1) = Worksheets("Raw Export").Cells(Row_Export, 1) And Worksheets(SF_type).Cells(SF_Row, 2) = Worksheets("Raw Export").Cells(Row_Export, 2) Then
'Found header, now find next available spot
Do
SF_Row = SF_Row + 1
'Check if next line is free by checking if PROJ null
If (Worksheets(SF_type).Cells(SF_Row, 7) = "") Then
'Found free row, add project above it
'Add new lines
For i = 0 To (Row_Rehab - PROJ_Row)
Worksheets(SF_type).Rows(SF_Row).EntireRow.Insert
Next i
'Select added new lines
With Worksheets(SF_type)
Set SFInfo = .Range(.Cells(SF_Row, 1), .Cells(SF_Row + (Row_Rehab - PROJ_Row), numCol))
End With
'Copy rehab project to the range
With Worksheets("Rehab")
.Range(.Cells(PROJ_Row, 1), .Cells(Row_Rehab, numCol)).Copy Destination:=SFInfo
End With
'Copy costs into range
startCol = Worksheets("Template").Cells(11, SF + 2)
startCol2 = Worksheets("Template").Cells(9, SF + 2)
For col = 0 To 6
Worksheets(SF_type).Cells(SF_Row, RawExport_Col(36) + col) = Worksheets("Raw Export").Cells(Row_Export, startCol + col)
Next col
'Copy costs for extra years if its expansion
If Worksheets("Parameters").Cells(18, 14) = "Expansion" Then
For col = 0 To 7
Worksheets(SF_type).Cells(SF_Row, 41 + numSF + col) = Worksheets("Raw Export").Cells(Row_Export, startCol2 + col)
Next col
End If
Set SFInfo = Nothing
Exit Do
End If
Loop
Exit Do
End If
Loop
End If
Next SF
End If
'------------------------End Special Funding Tabs
End If
Loop
Application.StatusBar = "Formatting..."
For wks = 2 To (Worksheets.Count - 2)
With Worksheets(wks)
.Columns("A:C").ColumnWidth = 7.57 'Year
.Columns("D:D").ColumnWidth = 9.86 'Contract
.Columns("F:F").ColumnWidth = 4 'Area
.Columns("G:G").ColumnWidth = 14.57 'PROJ
.Columns("H:H").ColumnWidth = 3.43 'DOM
.Columns("I:I").ColumnWidth = 6 'Priority
.Columns("J:J").ColumnWidth = 9.57 'Contingency Year
.Columns("L:L").ColumnWidth = 6 'Hwy
.Columns("M:M").ColumnWidth = 31.71 'Location
.Columns("N:O").ColumnWidth = 16.14 'Comment
.Columns("V:V").ColumnWidth = 23 'Project Type
.Columns("R:U").ColumnWidth = 6.43 'LHRS
.Columns("X:AB").ColumnWidth = 10.29 'Date
.Columns("Y:Y").ColumnWidth = 2.57 'Actual
.Columns("AA:AA").ColumnWidth = 2.57 'Actual
.Columns("AC:AC").ColumnWidth = 2.57 'Actual
.Columns("AE:AG").ColumnWidth = 12.5
.Columns("AH:AN").ColumnWidth = 13.71 'Cost
.Rows("2:2").EntireRow.AutoFit
End With
Next
'Finalize - Rearrange the column, format color
'last column before defined print area end
If Worksheets("Parameters").Cells(18, 14) = "Expansion" Then
colEmptyE = Cells(1, 40 + numSF).Address(1, 0)
colEmptyE = Left(colEmptyE, InStr(colEmptyE, "$") - 1)
For wks = 2 To (Worksheets.Count) - 2
With Worksheets(wks)
.PageSetup.PrintArea = "A:" & colEmptyE & ""
End With
Next wks
End If
Application.CutCopyMode = False
Worksheets(2).Name = Worksheets("Parameters").Cells(18, 14).Value
ActiveWorkbook.Save
End Sub
【问题讨论】:
-
Row_Export是什么,它的价值是什么?如果它是0在任何时候你都会得到一个应用程序错误。 -
从前面的代码:
Row_Export = 1; Do; Row_Export = Row_Export + 1 -
并且
Row_Export的尺寸是否在相同的程序中?也就是说,它现在还在范围内吗? -
是的,都在同一个过程中。
-
如果您在 do 循环之前声明并查找工作表会发生什么情况:
Dim ShtRehab As Worksheet和Set ShtRehab = Worksheets("Rehab")并且对于导出也是如此? (无论如何,这是一种很好的做法,只做一次,而不是一次又一次地翻找你的床单。)
标签: vba excel excel-2010