Loop Through Cells - Suggerimenti per Excel

Richard scrive:

Se posso essere così audace a chiedere, ti sarei grato se potessi illuminarmi sulla risposta a questo sconcertante enigma sull'integrità sintatica vincolata:

Quando si fa riferimento a una cella per uso esterno in VisualBasic, ad esempio tramite "Range (" F3 "). Selezionare" supponiamo che io desideri invece della colonna 1 sostituire una variabile da un ciclo alla seguente estremità:

For Scarab=3 To 15 Range("FScarab").Select ActiveCell.Value = Scarab * Scarab - 3 Next Scarab

per esempio.

Chiaramente non si può usare FScarab dove prima si avrebbe avuto F3 ma forse esiste un metodo attraverso il quale si può ottenere il risultato desiderato. Cioè, c'è un modo per fare riferimento alla cella nella colonna F e alla riga Scarab per la variabile Scarab e in tal caso potresti divulgare queste informazioni.

Ci sono diversi modi per farlo. Probabilmente il più intuitivo è questo metodo che prevede la concatenazione della lettera di colonna "F" con il numero di riga numerico all'interno del riferimento Range ().

For Scarab=3 To 15 Range("F" & Scarab).Select ActiveCell.Value = Scarab * Scarab - 3 Next Scarab

Il metodo successivo utilizza la funzione CELLS (riga, colonna) invece del riferimento Range. In questo caso, riga e colonna devono essere numeriche. La variabile del numero di riga è già numerica, quindi devi semplicemente convertire la "F" in un 6 nella tua testa. Noterai anche che non è necessario selezionare la cella, puoi semplicemente assegnarle un valore.

For Scarab=3 To 15 Cells(Scarab, 6).Value = Scarab * Scarab - 3 Next Scarab

Infine, è possibile scorrere semplicemente ogni cella nell'intervallo:

For Each cell in Range("F3:F15") Cell.Value = Cell.Row * Cell.Row - 3 Next Cell

Articoli interessanti...