Excel 中的下标和上标

Excel 中的下标和上标

我有一张带有化学式的 XL 表 - 基本上只是带有数字下标和上标的字母。我可以将其保存为 html 页面并获取 <sub> 和 <sup> html 元素,但它们被埋在许多其他标记和 css 之下。

有没有办法可以简单地获取带有 H 2 O 作为标记的单元格的公式,如下所示:

H<sub>2</sub>O

答案1

如果您希望将下标/上标文本转换为相应的 HTML 标记,请创建一个VBA 函数(按ALT+F11进入编辑器)使用以下代码:

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

用法

假设A1包含字符串 C 2 O 3。在空白单元格中输入以下公式:

=subtohtml(A1)

结果应在单元格中显示:

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

如果您愿意,可以替换函数名称。我想不出更酷的名字。:D 据我所知,没有不涉及 VBA 的解决方案;因为您必须检查单元格中的每个字符并检查其大小写或字体格式。

编辑我假设您的文本不会包含任何相邻的下标/上标字符。为了以防万一,我插入了一些代码来处理具有相邻下标/上标字符的字符串,例如 CO 20

答案2

转至:布局 > 单元格属性 > 字体类型

您应该选中“下标”框。

来源:

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

相关内容