Descricao: |
Saberexcel - site das macros
Essa macro do Aplicativo Microsoft Excel VBA(Visual Basic Application), retorna a letra da coluna, com auxílio de um entrada de dados InputBox, quando usuário digitar o número da coluna, retornará a letra. Observe que atendo ao Pedido da Melina, usei o mesmo código no Evento_Change da Folha de Planilha ao 'digitar', na célula(E15), o procedimento da saida de dados para célula(G15)
Sub Coluna_Letra_Numero() Dim vNumColuna As Integer, iValor As Integer, zSB As Integer On Error Resume Next ' se nao digitar nada ou numero nao existente vNumColuna = InputBox("Digite o valor da letra da coluna desejada", "Saberexcel - site das macros", "155") 'vNumColuna = ActiveCell.Column
If vNumColuna <= 26 Then MsgBox Chr(vNumColuna + 64), vbInformation, "Saberexcel - site das macros" Else
iValor = Application.RoundDown(vNumColuna / 26, 0)
If iValor = vNumColuna / 26 Then iValor = iValor - 1 zSB = (vNumColuna - (26 * iValor)) + 64 MsgBox "Coluna [ " & vNumColuna & " ] é a coluna [ " & Chr(iValor + 64) & Chr(zSB) & " ]", vbInformation, "Saberexcel - site das macros" End If
End Sub
'USANDO O MESMO CÓDIGO NO EVENTO CHANGE - E DANDO SAIDA PARA UMA CÉLULA(G15). Observe que usei o mesmo código para retornar os mesmos valores quando determinado valor for digitado na célula(E15). veja que a linha de código: If Not Intersect(Target, Range("E15")) Is Nothing Then, rodará o procedimento se a condição for verdadeira, isto é, se a célula ativa for a célula(E15), senão(Else) sai do procedimento(Exit Sub)
Private Sub Worksheet_Change(ByVal Target As Range) Dim vNumColuna As Integer, iValor As Integer, zSB As Integer On Error Resume Next ' se nao digitar nada ou numero nao existente
If Not Intersect(Target, Range("E15")) Is Nothing Then vNumColuna = Range("E15").Value 'InputBox("Digite o valor da letra da coluna desejada")
'vNumColuna = ActiveCell.Column ' se a letra da coluna correspondente ao número for igual ou menor que 26 If vNumColuna <= 26 Then MsgBox Chr(vNumColuna + 64) [G15].Value = "Coluna [ " & vNumColuna & " ] é a coluna..: [ " & Chr(vNumColuna + 64) & " ]" Else
iValor = Application.RoundDown(vNumColuna / 26, 0)
If iValor = vNumColuna / 26 Then iValor = iValor - 1 zSB = (vNumColuna - (26 * iValor)) + 64 [G15].Value = "Coluna [ " & vNumColuna & " ] é a coluna [ " & Chr(iValor + 64) & Chr(zSB) & " ]" End If Else Exit Sub End If
End Sub
Aprenda tudo sobre o Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos SaberExcel
|