2016-06-29 14 views
0

Das folgende ist ein Codeabschnitt, den ich in meinem VBA-Programm haben:Typ passt nicht, wenn Spalte Auswahl mit einer Formel VBA (Excel)

Columns("currentColumn:(currentColumn+1)").Select 

Aus irgendeinem Grund habe ich einen Typenkonflikt, wenn ich diese laufen. currentColumn ist eine Ganzzahl. Dies ist das erste Mal, dass ich VBA verwende, also bin ich mir sicher, dass ich etwas vermisse. Ich habe mich gefragt, ob mich jemand auf den richtigen Weg bringen könnte.

Dank

+0

Oh ich sehe. Gibt es so etwas wie Spalten, die es mir erlauben, Zahlen einzugeben? – bugsyb

+0

'Bereich (Columns (currentColumn), Columns (currentColumn + 1)). Wählen Sie' –

Antwort

0

Um auf Scotts Vorschlag auszuarbeiten:

Das Problem ist nicht nur, dass Columns akzeptiert keine Eingaben wie "2:3" (Rows mit, dass funktionieren würde, aber für Columns würden Sie "B:C" benötigen). Das Problem ist auch, dass "currentColumn:(currentColumn+1)" eine Zeichenfolge ist, die genau aus diesen Zeichen besteht. Die Variable currentColumn" wird nicht ersetzt und der Zusatz +1 wird ebenfalls nicht ausgeführt. Wenn Sie eine Zeichenfolge mit der Nummer Current und nicht die Zeichenfolge aufbauen wollen "currentColumn müssen Sie & verwenden:

currentColumn & ":" & currentColumn + 1 'if currentColumn = 2 then this is the same as "2:3" 

beachten Sie, dass Sie in der Regel zu Select Objekte nicht brauchen. Here sind einige Beispiele, wie man es vermeidet.