在VBA中编写下标值

时间:2012-06-20 06:45:38

标签: excel vba

我有一个字符串:
Range("T4").Value = "Rule 13s voilation"

我想写13s,如1 3 s
3s1的下标。

请在

中建议我应该如何处理

3 个答案:

答案 0 :(得分:10)

尝试以下方法:

Range("T4").Value = "Rule 13s voilation"
Range("T4").Characters(Start:=7, Length:=2).Font.Subscript = True

我不确定这对于动态字符串长度的效果如何。

答案 1 :(得分:7)

尝试在录制宏时手动执行此操作,然后查看生成的代码。那会给你答案。

这是一个清理过的答案:

With Range("T4")
    .Value = "Rule 13s voilation" ' (sic)
    .Characters(Start:=7, Length:=2).Font.Subscript = True
End With

答案 2 :(得分:1)

我用这个功能 将2个细胞连成一个。 第一个是文本,第二个是对注释的引用系列

Sub setRefWithRemark()


Dim aCellRef, aCellRem, aCelTarget As Range
Dim aRow As Range

For Each aRow In Range("rgtensileRefWithRemark").Rows
    Set aCellRef = aRow.Cells(1, 1)
    Set aCellRem = aRow.Cells(1, 12)
    Set aCellTarget = aRow.Cells(1, 17)
    If aCellRef.Text <> "" Then
        With aCellTarget
           .value = aCellRef.Text & cTextSeparator & aCellRem.Text ' (sic)
           .Characters(Start:=Len(aCellRef.Text) + 2, Length:=Len(aCellRem.Text)).Font.Superscript = True
        End With
    End If
    Next
End Sub