Frage

Ich versuche, ein Makro zu bauen, das durch eine Zellsäule radelt und einen Ländercode von zwei Buchstaben in dieser Zelle durch den Namen dieses Landes ersetzt. Ich erhalte jedoch einen Fehler, der keinen Fehler gefunden habe, wenn ich versuche, das Makro auszuführen.

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
War es hilfreich?

Lösung

Die Texteigenschaft ist schreibgeschützt - Sie können sie nicht einstellen. Der Werteigenschaft zuweisen und es sollte funktionieren (z. B. z. B. curCell.Value = "Japan")

Andere Tipps

Ich bin sicher, Sie haben einen guten Grund für die Verwendung eines Makros dafür, aber Sie möchten sich jedoch mit den Arbeitsblatt -Funktionen für die Suche oder Vlookup befassen, um so etwas zu tun, ohne ein Makro zu schreiben.

Sie sollten in der Lage sein, den Debugger einzugeben, indem Sie im Editor nach links von Ihrem Makrotext klicken und einen roten Punkt in die Zeile platzieren

For counter = 2 To 20

Dann können Sie Ihr Makro durchlaufen, bis Sie den Fehler erhalten.

Alternativ können Sie Ihrem Makro Fehlerbehandlung hinzufügen

On Error Goto Failed

Oben und vor dem Ende sub hinzufügen

Failed: 
'handle error here

"Objekt nicht gefunden" ist wahrscheinlich aus dem Curcell.text -Aufruf (Curcell ist null, nichts oder ungültig. Daher fehlschlägt die .Text. Der Text ist fehlgeschlagen) oder der Activesheet.Cells -Anruf (nicht sicher, ob dies passieren kann)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top