Página 1 de 1

Coluna = Coluna + 1?

Enviado: 26 Jun 2015 às 01:55
por Walisson
Galera tenho uma variavel do tipo Int que serve para controlar colunas:

If nColuna = 0 Then coluna = "D"
If nColuna = 1 Then coluna = "N"
If nColuna = 2 Then coluna = "S"

Eu uso essa variável para setar a posição que um valor será colado:

O que eu preciso é o seguinte:

Se o nColuna valer "D", preciso que no proximo bloco ele valha " E " e no proximo "F" e assim em diante, como fazer isso no vba???

Exemplo:
If ThisWorkbook.Sheets("Questionário").CheckBox1.Value = True Then
ThisWorkbook.Sheets("Respostas").Range(nColuna & z).Value = 1
Else
ThisWorkbook.Sheets("Respostas").Range(nColuna & z).Value = 0
End If

(no bloco abaixo meu nColuna tem que valer "E", teria de ser algo como nColuna+1, porém sei q isso não funciona para String.)
If ThisWorkbook.Sheets("Questionário").CheckBox2.Value = True Then
ThisWorkbook.Sheets("Respostas").Range("E" & z).Value = 1
Else
ThisWorkbook.Sheets("Respostas").Range("E" & z).Value = 0
End If

Coluna = Coluna + 1?

Enviado: 26 Jun 2015 às 14:00
por duds
Boa tarde,

Você pode fazer o seguinte,
Código: Selecionar todos
Coluna = Chr(96 + x)
O que acontece aqui: Coluna é uma variável string e x integer, se x valer 1, Coluna será "a", se valer 2, Coluna será "b".
A função Chr transforma um certo número em um caractere. A letra "a" é o caractere de número 97, e assim sucessivamente!
Qualquer dúvida me avise!

Att.

Coluna = Coluna + 1?

Enviado: 03 Jul 2015 às 14:28
por FelipeGualberto
@Walisson,
Você pode representar uma célula por VBA de várias formas diferentes. Escolha a melhor forma de acordo com o algoritmo que quer desenvolver. Por exemplo: você pode acessar a célula J3 no Excel com as seguintes expressões:
Código: Selecionar todos
Range("J3")
ou
Código: Selecionar todos
Cells(3, 10)
No seu caso, fica mais fácil usar Cells para acessar uma célula:
ThisWorkbook.Sheets("Respostas").Cells(numeroLinha, numeroColuna + extraColuna).Value = 1