2013-07-11 17 views
5

Sto provando a selezionare una cella in excel utilizzando vba tramite l'uso della funzione intervallo.Utilizzo della funzione "Celle" in excel vba

Ho fatto questo molte volte anche con l'utilizzo di variabili per specificare l'intervallo anziché solo i numeri.

Tuttavia, non riesco a selezionare un intervallo utilizzando la funzione celle.

So che questo è possibile perché ho fatto molte ricerche e ho visto il codice di altre persone che funzionerà correttamente utilizzando questa funzione.

Di seguito è la sintassi che sto usando per provare e selezionare l'intervallo (che è solo 1 cella).

Inoltre, quando ho eseguito il codice ottengo il seguente messaggio:

"Errore di run-time '1004': Metodo di 'Gamma' di object'_Global' fallito".

Grazie per qualsiasi aiuto.

Dim item As String 
Dim itempaste As Boolean 
Dim itemcnt As Integer 

itemcnt = 1 
itempaste = False 
Range("X3").Select 
Do 
    item = ActiveCell.Value 
    If item <> "" Then 
     Range("A18").Select 
     Do 
      If ActiveCell.Value = "" Then 
       ActiveCell.Value = item 
       itempaste = True 
      Else 
       ActiveCell.Offset(1, 0).Select 
      End If 
     Loop Until itempaste = True 
    End If 
    itemcnt = itemcnt + 2 
    Range(Cells(1, (21 + itemcnt))).Select 
Loop Until itemcnt = 11 

risposta

5

Si sta utilizzando il tipo di intervallo come una funzione; la chiamata Cells sta effettivamente restituendo già un oggetto Range. Invece di

Range(Cells(1, (21 + itemcnt))).Select 

..try:

Cells(1, (21 + itemcnt)).Select 

Se si vuole essere più esplicito:

Dim target As Range 
Set target = Cells(1, (21 + itemcnt)) 
target.Select