对象变量或未设置块变量 - 宏VBA

时间:2018-03-05 09:19:41

标签: excel excel-vba vba

我收到了错误

  

对象变量或未设置块变量

Set lineProject = c.Row 使用以下代码时:

Private Sub CommandButton1_Click()

Dim pptFile As Object

Dim ppres As PowerPoint.Presentation

Path = "\\FSCFFACT\Activites\CFF DOMO GP ACT\Tableau de Bord\" 

Set pptFile = CreateObject("Powerpoint.application")

If ComboBox1.Value <> "" Then

        CODOMO.Hide

        Libelle = ComboBox1.Value

        lastline = Worksheets("Projets").Cells(Worksheets("Projets").Rows.Count, "B").End(xlUp).Row

        Set c = Worksheets("Projets").Range("B10:B" & lastline).Find(Libelle)

        Set lineProject = c.Row

        pptFile.Presentations.Open (Path & "Modèle CODOMO.pptx")

        Set pppres = pptFile.ActivePresentation

    Else
        ...        
    End If
End Sub

我在另一个宏中使用了相同的行,使用 Libelle 查找项目的ligne。

感谢您说出错误。

1 个答案:

答案 0 :(得分:2)

我想这是你得到错误的行

Set c = Worksheets("Projets").Range("B10:B" & lastline).Find(Libellé)

使用.Find(Libellé),您的意思是Libellé为字符串还是变量?

如果......

  • string然后使用.Find("Libellé")
  • 变量然后.Find(Libelle)是正确的 因为您的变量名称为Libelle = ComboBox1.Value

确保使用Option Explicit以避免输入错误的变量名称。 并在使用前声明所有变量:

Dim Libelle As String
Libelle = ComboBox1.Value