未找到的编译错误命名为参数



我有一个Excel工作簿,该工作簿在同一字段中包含几张纸。我想从型号表布局。为了找到代码,我创建了一个宏。当我在Excel中运行它时,它可以正常工作。我正在访问访问中的代码,并收到错误消息:

编译错误命名参数未找到

这是零件中的代码(按钮(的详细信息。

Paste:=xlPasteColumnWidths

这使您的值为8,因此将xlPasteColumnWidths替换为数字8

Private Sub Commande92_Click()
Dim vStatusBar As String
    Application.SetOption "Show Status Bar", True
   vStatusBar = SysCmd(acSysCmdSetStatus, "Mise en page des feuilles EXCEL ... veuillez patienter.")
 Dim xlApp As Excel.Application
 Dim xlSheet1 As Excel.Worksheet
 Dim xlBook As Excel.Workbook
 Dim sSheet As String, Rep1 As String, LaDate As String, MoisDate As String, StTarget As String, Sql1 As String
 Dim thedb As DAO.Recordset
LaDate = Now()
MoisDate = Format(LaDate, "ddmm")
Rep1 = "F:PELOPELO 2018-2019FichiersInscriptionParent"
Sql1 = "SELECT DISTINCT tblEcole.Abvr, tblEcole.NomEcole FROM tblEcole;"
StTarget = Rep1 & "EcolePELO" & "_" & MoisDate & ".xlsm"

Set xlBook = GetObject(StTarget)
'filename is the string with the link to the file ("C:/....blahblah.xls")
Set xlApp = GetObject(, "Excel.Application")
On Error GoTo 0
If xlApp Is Nothing Then
  Set xlApp = CreateObject("Excel.Application")
End If
'Make sure excel is visible on the screen
xlApp.Visible = True
xlBook.Windows(1).Visible = True
'xl.ActiveWindow.Zoom = 75
 sSheet = thedb(0)
'Define the sheet in the Workbook as XlSheet1
Set xlSheet1 = xlBook.Worksheets(1)

    With xlSheet1
     '.Name = "Modele"
      .Select "Modele"
      .Rows("1:2").Select
      .Copy
      .Name = sSheet
      .Select sSheet
      .Rows("1:1").Select
      ''''
      ' Bloc ici
      ''''
      .PasteSpecial **Paste:=xlPasteColumnWidths**, Operation:=xlNone, _
       SkipBlanks:=True, Transpose:=False
      .Range("B3").Select
      .Application.CutCopyMode = False
      .Selection.Copy
      .Range("B1:N1").Select
      .ActiveSheet.Paste
      .Range("A3:B266").Select
      .Application.CutCopyMode = False
      .App
    End With
       xlSheet1.aActiveSheet.Sheet (1)
      ' xlApp.ActiveSheet.Name = "Modele"
       xlSheet1.Sheets("Modele").Select
       xlSheet1.Application.ActiveWindow.SelectedSheets.Delete , True
       xlBook.Save , True
       xlBook.Close
       xlApp.Quit

Err_MCommande92_Click:
    vStatusBar = SysCmd(acSysCmdClearStatus)
    MsgBox Err.Number & " - " & Err.Description
    Resume Exit_Commande92_Click

Exit_Commande92_Click:
vStatusBar = SysCmd(acSysCmdClearStatus)
End Sub

枚举仅在Excel中定义。要查找枚举的价值,请使用Google。Enum xlPasteColumnWidths给您这些结果:

枚举xlpastecolumnwidths

因此,用8

的值替换xlPasteColumnWidths

问题是您正在使用以下内容:

With xlSheet1
      .Select "Modele"
      .Rows("1:2").Select
      .Copy
      .Name = sSheet
      .Select sSheet
      .Rows("1:1").Select
      ''''
      ' Bloc ici
      ''''
      .PasteSpecial **Paste:=xlPasteColumnWidths**, Operation:=xlNone, _
       SkipBlanks:=True, Transpose:=False

With表示点之后的所有内容都与之相处。因此,您会得到类似xlSheet1.PasteSpecial ...的东西,这有点非法,因为您只复制了前2行。

长话短说,尝试这样:

.Rows("1:1").Select
Selection.PasteSpecial Paste:=8, Operation:=xlNone, SkipBlanks:=True, Transpose:=False

它可能应该起作用。如果确实如此,请找到一种方法来避免代码中的SelectActiveSheet

相关内容

最新更新