2016-10-02 6 views
-1

Ich bin neu in VBA und bin ziemlich der Anfänger. Ich versuche, eine Variable in Anführungszeichen beim Schleifen zu arbeiten. Zum Beispiel:Sub test() Dim z Als String Für z = 14 bis 17 Für b = 14 bis 17 ActiveSheet.Cells (b, 13) = "z" Weiter z Weiter b Ende Sub

Sub test() 
Dim z As String 
For z = 14 To 17 
For b = 14 To 17 

ActiveSheet.Cells(b, 13) = "z" 

Next z 
Next b 

End Sub 

Ich bekomme einen "Kompilierfehler: Typ nicht übereinstimmen". Kann mir jemand sagen, was ich falsch mache? Danke für deine Hilfe.

+0

Sie bitte Ihre Frage bearbeiten und ein paar Worte der Erklärung, wie der Titel Ihrer Frage verwenden, nicht Code. Nehmen Sie sich einen Moment Zeit, um sich mit der Funktionsweise dieses Ortes vertraut zu machen. Es wird in der [Tour] erklärt. – teylyn

Antwort

1

Sie deklarieren die Variable z als String. Zeichenfolgen sind keine Zahlen und können nicht in for Schleifen inkrementiert oder verwendet werden.

Deklarieren Sie die Variable als Ganzzahl und drucken Sie den Wert in die Zelle.

Die äußere z-Schleife ist vor der inneren b-Schleife geschlossen. Das ist auch ein Problem. Vielleicht möchten Sie sich daran gewöhnen, Ihren Code einzurücken, um solche Fehler deutlicher zu machen.

Insgesamt ist nicht klar, was Sie erreichen möchten. Wenn Sie nur die z-Wert in einem Bereich drucken möchten Sie brauchen nicht die b-Schleife überhaupt, zum Beispiel:

Sub test() 
Dim z As Integer 

For z = 14 To 17 
' enters z value into column M 
    ActiveSheet.Cells(z, 13) = z 
Next z 

End Sub 
Verwandte Themen