avoir d'erreur “Variable Objet ou variable bloc with non définie”
J'ai créé un Add-In pour Excel qui détermine le nom de ActiveSheet
et ActiveWorkbook
. Le code que j'ai utilisé est en dessous. Quand je lance le complément c'est montrer l'erreur mentionnée ci-dessus, après la boîte de message "variables". Mais quand je le lance dans les macros il fonctionne très bien. Je ne comprends pas ce qui se passe avec le complément. Quelqu'un pourrait-il m'aider?
Sub sheetvalues()
Dim bk As Workbook, sht1 As Worksheet, sht2 As Worksheet, sht3 As Worksheet
Dim book As String, sht As String, i As Integer, j As Integer
Dim att(1 To 4) As String, att_col(1 To 4) As Integer
MsgBox ("variables set")
book = ActiveWorkbook.Name
sht = ActiveSheet.Name
MsgBox ("names set")
Set bk = Workbooks.Add
With bk
.Title = "MissingValues"
.SaveAs Filename:="MissingValues.xls"
End With
Set sht1 = bk.Sheets.Add
sht1.Name = "EndOne"
Set sht2 = bk.Sheets.Add
sht2.Name = "EndTwo"
Set sht3 = bk.Sheets.Add
sht3.Name = "EndThree"
MsgBox (book & " " & sht)
MsgBox ("completed")
End Sub
Êtes-vous d'avoir le complément de l'exécuter sur l'ouverture du classeur?
Il pourrait ne pas être un ActiveWorkbook si votre add-in est le seul classeur chargé...
Il pourrait ne pas être un ActiveWorkbook si votre add-in est le seul classeur chargé...
OriginalL'auteur Santhi Kabir | 2013-07-17
Vous devez vous connecter pour publier un commentaire.
Un problème commun qui cause ce problème, c'est d'oublier d'utiliser " Set " avec l'attribution d'une valeur à une variable.
OriginalL'auteur Gerhard Powell
Comme @TimWilliams dit, vous obtiendrez cette erreur si votre add-in est le seul classeur chargé. Dans ce cas, il n'y a pas de classeur actif et votre code échoue sur la ligne
Vous pouvez vérifier l'existence d'un classeur en ajoutant les lignes suivantes:
Si vous vous retrouvez avec:
OriginalL'auteur Frank H.
Vérifier si le classeur dans Excel vous demande si vous voulez ouvrir un protégé en écriture de la version ou pas. Je pense alors que cette question est présent, le classeur n'est pas considéré comme Actif, ni aucun autre
OriginalL'auteur Chris