Subscritos e sobrescritos no Excel

3

Eu tenho uma planilha XL com fórmulas químicas - que é basicamente apenas letras com índices numéricos e sobrescritos. Eu posso salvar como uma página html e obter as tags < sub > e < sup > elementos html, mas eles são enterrados sob muitos outros markup e css.

Existe uma maneira de simplesmente obter a fórmula para uma célula com H 2 O como uma marcação como esta:

H<sub>2</sub>O
    
por Graeme 30.05.2011 / 18:24

2 respostas

3

Se você deseja converter texto subescrito / sobrescrito em marcação HTML correspondente, crie uma função VBA (pressione ALT + F11 para ir para o editor) com este código:

Function SubToHtml(rng As Range)

Dim c, ns As String

For i = 1 To Len(rng.Value) Step 1
    c = rng.Characters(i, 1).Text
    If rng.Characters(i, 1).Font.Subscript Then
        ns = ns & "<sub>" & c & "</sub>"
    ElseIf rng.Characters(i, 1).Font.Superscript Then
        ns = ns & "<sup>" & c & "</sup>"
    Else
        ns = ns & c
   End If
Next i

'to take care of adjacent sub/superscript characters
ns = Replace(ns, "</sub><sub>", "")
ns = Replace(ns, "</sup><sup>", "")

SubToHtml = ns

End Function

Uso

Assumindo que A1 contém a string C 2 O 3 . Insira esta fórmula em uma célula em branco:

=subtohtml(A1)

Isso deve mostrar isso na célula como resultado:

C<sub>2</sub>O<sup>3</sup>

Substitua o nome da função, se desejar. Eu não conseguia pensar em um mais chique. : D AFAIK, não há uma solução que não envolva o VBA; já que você teria que passar por cada caractere na célula e verificar seu caso ou formato de fonte.

Editar : Presumi que seus textos não conterão nenhum caractere sub / sobrescrito adjacente. Apenas no caso, insiro um código que cuida de strings com caracteres sub / sobrescritos adjacentes, como CO 20 .

    
por 30.05.2011 / 20:16
1

Ir para: Layout > Propriedades da célula > Tipo de fonte

Você deve marcar a caixa "Subscrito".

Fonte:

http://www.helpmij.nl/forum/showthread.php/221389-Subscript-in-Excel

    
por 30.05.2011 / 18:30