Question

Je suis en train de construire une macro qui cycles à travers une colonne de cellules et remplace un code de pays à deux lettres dans cette cellule avec le nom de ce pays. Cependant, je reçois une erreur d'objet introuvable lorsque je tente d'exécuter la macro.

Sub ChangeCountryText()
'
' ChangeCountryText Macro
' Changes country codes
'
    For counter = 2 To 20
        Set curCell = ActiveSheet.Cells(counter, 1)
        Select Case curCell.Text
            Case "JP"
                curCell.Text = "Japan"
            Case "FR"
                curCell.Text = "France"
            Case "IT"
                curCell.Text = "Italy"
            Case "US"
                curCell.Text = "United States"
            Case "NL"
                curCell.Text = "Netherlands"
            Case "CH"
                curCell.Text = "Switzerland"
            Case "CA"
                curCell.Text = "Canada"
            Case "CN"
                curCell.Text = "China"
            Case "IN"
                curCell.Text = "India"
            Case "SG"
                curCell.Text = "Singapore"
        End Select
    Next counter

End Sub
Était-ce utile?

La solution

La propriété Text est en lecture seule - vous ne pouvez pas le définir. Attribuer à la propriété valeur et il devrait fonctionner (par exemple curCell.Value = "Japan")

Autres conseils

Je suis sûr que vous avez une bonne raison pour utiliser une macro pour cela, mais vous pouvez regarder dans les fonctions de feuille de calcul ou CHERCHEV comme LOOKUP un moyen de faire quelque chose comme ceci sans écrire une macro.

Vous devriez être en mesure d'entrer dans le débogueur en cliquant à gauche de votre texte macro dans l'éditeur et en plaçant un point rouge sur la ligne

For counter = 2 To 20

Ensuite, vous pouvez parcourir votre macro jusqu'à ce que vous obtenez à l'erreur.

vous pouvez également ajouter la gestion des erreurs à votre macro

On Error Goto Failed

en haut et en avant la sous add fin

Failed: 
'handle error here

« objet introuvable » est susceptible de l'appel curCell.Text (curCell est nulle, rien, ou invalide, appelant .Text sur elle échoue) ou les ActiveSheet.Cells appel (pas sûr si cela peut arriver)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top