将下标混合成一个字符串

时间:2016-10-29 17:52:37

标签: excel vba

在我正在使用的VBA excel宏中,我有以下代码:

For k = MinDeg To MaxDeg
        OutputStr = Trim(OutputStr & "a" & Str(k) & " = " & _
                    Str(MyCoe) & " ± " & _
                    Str(MyErr) & Chr(10))
Next k

Where" MyCoe"和#34; MyErr"给出数字," minDeg"和" MaxDeg"是整数。

我的问题是:

我如何制作" Str(k)"在outputstr中显示为下标文本?

2 个答案:

答案 0 :(得分:1)

如果您的环境中有Unicode,则另一个选项是使用Str(K)的下标Unicode字符。对Gary的学生代码进行一些修改,以便在A1中获得输出:

{{1}}

请注意,下标值也会显示在公式栏中。

enter image description here

答案 1 :(得分:0)

首先,我将这个简单的mod运行到您的代码中:

Sub WhatEverr()
    mindeg = 10
    maxdeg = 13
    mycoe = 3
    myerr = 5
    For k = mindeg To maxdeg
            outputstr = Trim(outputstr & "a" & Str(k) & " = " & _
                        Str(mycoe) & " ± " & _
                        Str(myerr) & Chr(10))
    Next k
    Range("A1").Value = outputstr
End Sub

A1

中获取此信息

enter image description here

然后我跑:

Sub formatcell()
    Dim i As Long, L As Long, rng As Range
    Dim s As String

    Set rng = Range("A1")
    s = rng.Value
    L = Len(s)

    For i = 1 To L
        ch = Mid(s, i, 1)
        If ch = "a" Then
            rng.Characters(Start:=i + 2, Length:=2).Font.Subscript = True
        End If
    Next i
End Sub

要应用格式:

enter image description here

在Excel中,这种类型的字符格式是Range对象的属性。您不像在HTML中那样将其构建到字符串中。