Loop Through Cells - Dicas do Excel

Richard escreve:

Se posso ter a ousadia de perguntar, ficaria grato se você pudesse me esclarecer quanto à resposta a este enigma desconcertante sobre o videlito de integridade sintática:

Ao fazer referência a uma célula para uso externo em VisualBasic, por exemplo, por meio de "Range (" F3 "). Selecione" suponha que eu deseje, em vez da coluna 1, substituir uma variável de um loop para o seguinte final:

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

por exemplo.

Claramente, não se pode usar FScarab onde antes se teria F3, mas talvez haja um método através do qual o resultado desejado pode ser alcançado. Ou seja, existe uma maneira de se referir à célula na coluna F e linha Scarab para a variável Scarab e, se houver, você poderia divulgar essa informação.

Existem várias maneiras de fazer isso. Provavelmente o mais intuitivo é este método que envolve concatenar a letra da coluna "F" com o número da linha numérica dentro da referência Range ().

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

O próximo método usa a função CELLS (linha, coluna) em vez da referência de intervalo. Nesse caso, a linha e a coluna precisam ser numéricas. Sua variável de número de linha já é numérica, então você simplesmente tem que converter o "F" em 6 em sua cabeça. Você também notará que não é necessário selecionar a célula, você pode simplesmente atribuir um valor a ela.

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

Finalmente, é possível simplesmente percorrer cada célula no intervalo:

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

Artigos interessantes...