在VBA中编写下标值

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

我想写13s13s
3s是1的下标。

请build议我应该如何去在vba中

尝试以下操作:

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

我不知道这将如何为您的dynamicstring长度。

在录制macros时尝试手动执行,然后查看生成的代码。 这会给你你的答案。

这是一个清理的答案:

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

我使用这个函数将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