Como converter números de coluna do Excel em carateres alfabéticos
Introdução
Este artigo aborda como utilizar a função Microsoft Visual Basic for Applications (VBA) no Microsoft Excel para converter números de coluna no design de caráter alfabético correspondente para a mesma coluna.
Por exemplo, o número da coluna 30 é convertido nos carateres alfabéticos equivalentes "AD".
Mais Informações
A Microsoft fornece exemplos de programação apenas a título informativo, sem qualquer garantia expressa ou implícita, incluindo, sem limitações, as garantias implícitas de comercialização e/ou adequação a um fim específico. Este artigo pressupõe que o utilizador está familiarizado com a linguagem de programação demonstrada e as ferramentas utilizadas para criar e depurar procedimentos. Os técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às suas necessidades específicas.
A função ConvertToLetter funciona com o seguinte algoritmo:
- Vamos
iCol
ser o número da coluna. Pare seiCol
for inferior a 1. - Calcule o quociente e o restante na divisão de
(iCol - 1)
por 26 e armazene em variáveisa
eb
. - Converta o valor inteiro de
b
no caráter alfabético correspondente (0 => A, 25 => Z) e ative-o na parte frontal da cadeia de resultados. - Defina
iCol
como divisora
e ciclo.
Por exemplo: o número da coluna é 30.
(Ciclo 1, passo 1) O número da coluna é, pelo menos, 1, continue.
(Ciclo 1, passo 2) O número da coluna menos um é dividido por 26:
29 / 26 = 1 restante 3.
a = 1, b = 3
(Ciclo 1, passo 3) A tack na
(b+1)
letra do alfabeto:3 + 1 = 4, a quarta letra é "D". Resultado = "D"
(Ciclo 1, passo 4) Voltar para o passo 1 com
iCol = a
iCol = 1
(Ciclo 2, passo 1) O número da coluna é, pelo menos, 1, continue.
(Ciclo 2, passo 2) O número da coluna menos um é dividido por 26:
0 / 26 = 0 restante 0.
a = 0, b = 0
(Ciclo 2, passo 3) A tack na
b+1
letra do alfabeto:0 + 1 = 1, a primeira letra é "A" Resultado = "AD"
(Ciclo 2, passo 4) Voltar para o passo 1 com
iCol = a
iCol = 0
(Ciclo 3, passo 1) O número da coluna é inferior a 1, pare.
A seguinte função VBA é apenas uma forma de converter valores de número de coluna nos respetivos carateres alfabéticos equivalentes:
Function ConvertToLetter(iCol As Long) As String
Dim a As Long
Dim b As Long
a = iCol
ConvertToLetter = ""
Do While iCol > 0
a = Int((iCol - 1) / 26)
b = (iCol - 1) Mod 26
ConvertToLetter = Chr(b + 65) & ConvertToLetter
iCol = a
Loop
End Function
Nota Esta função só converte números inteiros que lhe são transmitidos para o caráter de texto alfanumérico equivalente. Não altera o aspeto da coluna nem dos cabeçalhos de linha na folha de cálculo física.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários