【发布时间】:2021-01-03 21:34:17
【问题描述】:
我在用 ** 表示的行上遇到应用程序定义或对象定义错误。我的语法错了吗?
Sub MonthLines()
Dim wkb As Workbook, shifts As Worksheet, inputs As Worksheet, StartDate As Range, EndDate As Range, InputDate As Range, numshifts As Integer, monthstart As Double
Dim monthend As Double, i As Double, n As Double, p As Double
Set wkb = Excel.Workbooks("Call Center Headcount Model v2.xlsm")
Set shifts = wkb.Worksheets("Shifting")
Set inputs = wkb.Worksheets("Inputs")
Set StartDate = wkb.Worksheets("Inputs").Range("C9")
Set EndDate = wkb.Worksheets("Inputs").Range("C10")
Set InputDate = wkb.Worksheets("Shifting").Range("B5")
monthstart = StartDate.Value
monthend = EndDate.Value
Application.Calculation = xlCalculationManual
p = 1
For i = monthstart To monthend
InputDate.Value = i
Calculate
numshifts = wkb.Worksheets("Shifting").Range("E5").Value
For n = 21 To numshifts + 21
With Sheets("Shifting")
.Range(Cells(n, 1), Cells(n, 6)).Copy
**wkb.Worksheets("Shift Output").Range(Cells(p, 1), Cells(p, 6)).PasteSpecial Paste:=xlPasteValues**
End With
Next n
p = p + n
Next i
End Sub
【问题讨论】:
-
这不是我出错的那一行,而 WITH 语句之后的那一行在没有它们的情况下也能正常执行。
标签: excel vba syntax-error