【发布时间】:2018-04-15 06:03:09
【问题描述】:
我的代码应该从一个工作簿中获取联系信息,为列表中的每个人创建一个新的并传输他们的信息。当我尝试运行我的宏时,它在Set pathOrig = ActiveWorkbook.path 行给了我一个错误。它说
编译错误:需要对象
有人知道我的错误是什么吗? (对不起,我的代码中的法语位)
Sub generateFichier()
Dim orig, dest As Range
Dim classOrig, classDest As Workbook
Dim pathOrig As String
Dim nom, prenom, faitPar As String
Dim sommeCap, sommeCapActuel As Long
Set classOrig = ActiveWorkbook
Set pathOrig = ActiveWorkbook.path
Set orig = Sheets("clients").Range("A2")
For i = 1 To 7 Step 1
nom = orig.Offset(i, 0).Value
prenom = orig.Offset(i, 1).Value
sommeCap = orig.Offset(i, 3).Value + orig.Offset(i, 5).Value
sommeCapActuel = orig.Offset(i, 4).Value + orig.Offset(i, 7).Value
faitPar = classOrig.Sheets(1).PageSetup.RightFooter
Dim nomFichier As String
nomFichier = nom & ".xls"
Set classDest = Workbooks.Add(pathOrig & "\" & nomFichier)
classDest.Sheets(1).Range("B1").Value = nom
classDest.Sheets(1).Range("B2").Value = prenom
classDest.Sheets(1).Range("A5").Value = sommeCap
classDest.Sheets(1).Range("B5").Value = sommeCapActuel
classDest.Sheets(1).Range("B13").Value = faitPar
For j = 1 To 6 Step 1
Select Case j
Case 1 To 3
classOrig.Cells(i, j).Value = classDest.Sheets(1).Cells(j + 7, 2).Value
Case 4 To 6
classOrig.Cells(i, j).Value = classDest.Sheets(1).Cells(j + 4, 3).Value
End Select
Next j
classDest.SaveAs Filename:=pathOrig & "\" & nomFichier, FileFormat:=xlNormal
Next i
End Sub
【问题讨论】:
-
顺便说一句,它应该是
Dim classOrig As Workbook, classDest As Workbook。您需要定义每件或未声明的变体