'Type Défini par l'utilisateur Non Défini" erreur
J'obtiens l'erreur ci-dessus lorsque vous tentez d'exécuter cette macros. Je suis assez nouveau pour les Macros et le codage en général, donc veuillez pardonner l'ignorance.
Grâce
Sub DeleteEmptyRows()
Dim oTable As Table, oRow As Row, _
TextInRow As Boolean, i As Long
Application.ScreenUpdating = False
For Each oTable In ActiveDocument.Tables
For Each oRow In oTable.Rows
TextInRow = False
For i = 2 To oRow.Cells.Count
If Len(oRow.Cells(i).Range.Text) > 2 Then
'end of cell marker is actually 2 characters
TextInRow = True
Exit For
End If
Next
If TextInRow = False Then
oRow.Delete
End If
Next
Next
Application.ScreenUpdating = True
End Sub
Cela semble être le code pour Mot, mais vous avez marqués comme Excel. Où êtes-vous essayer de l'exécuter?
Oui toutes mes excuses, le code est pour un publipostage dans Word, exécuté dans Excel
Row
et Table
ne sont pas un type de variableOui toutes mes excuses, le code est pour un publipostage dans Word, exécuté dans Excel
OriginalL'auteur holdo1 | 2014-06-17
Vous devez vous connecter pour publier un commentaire.
Votre erreur est causée par ces:
Ces types,
Table
etRow
ne sont pas les types de variables native d'Excel. Vous pouvez résoudre ce problème de deux façons:Dim oTable as Word.Table, oRow as Word.Row
. Cela s'appelle de la liaison anticipée.Object
type:Dim oTable as Object, oRow as Object
. Avec cette méthode, vous n'avez pas besoin d'ajouter la référence à Word, mais vous perdez également l'intellisense de l'aide dans le VBE.Je n'ai pas testé ton code mais je soupçonne
ActiveDocument
ne fonctionne pas dans Excel avec la méthode #2, à moins que vous correctement portée à une instance d'un Mot.Objet de l'Application. Je ne vois pas ce que n'importe où dans le code que vous avez fournis. Un exemple serait:OriginalL'auteur David Zemens
Je suis en retard pour la fête. Essayez de remplacer en tant que ci-dessous, le mien a fonctionné parfaitement
"DOMDocument" à "MSXML2.DOMDocument60"
"XMLHTTP" à "MSXML2.XMLHTTP60"
OriginalL'auteur GideonMetre
Le code suivant va supprimer toutes les lignes sur une feuille(YourSheetName) où le contenu de la Colonne A est vide.
EDIT: Type Défini par l'Utilisateur Non Défini est causée par "oTable de Table" et "oRow la Ligne". Remplacer la Table et de la Ligne avec l'Objet à résoudre l'erreur et de faire de la compilation.
OriginalL'auteur Olle89