在.PasteSpecial上保留上标格式

我正在复制从一个工作簿到另一个工作簿的范围。 由于源范围中的大部分数据是我需要按值粘贴的公式:

With TargetRange .PasteSpecial Paste:=xlPasteAll .PasteSpecial Paste:=xlPasteColumnWidths .PasteSpecial Paste:=xlPasteValues End With 

问题是xlPasteValue破坏(静态)单元格中的上标格式。 我怎样才能保留上标格式的值来粘贴?

我可以通过xlPasteAll来重新粘贴那些带有上标格式的静态单元格,但是这有点混乱,并且不可维护。

复制粘贴function是作为一个范围或某些属性的单元格的总对象。 其中一个range.font属性是上标,因此如果将其应用于COMPLETE单元格,它将在此处列出并作为文本格式的过去传递。

现在,也可以仅将字体格式应用于单元格中有限的一组字符。 单个文本字符设置格式的“特征”不是直接范围属性,但它是范围(或单元格)中的字符的属性。 现在这是一个混乱的事情来处理。

在这里看到一些代码logging上标的应用程序的字符的子集:

 With rTest.Characters(Start:=1, Length:=2).Font .Superscript = True End With With rTest.Characters(Start:=3, Length:=2).Font .Subscript = False End With 

如果你看看你的(本地人)观察窗口,你会发现字符属性没有列出。 微软在这里看到关于Office 2012的这个话题:

http://msdn.microsoft.com/en-us/library/office/ff198232%28v=office.14%29.aspx

“字符对象不是一个集合。”

简而言之:你想要的是用这个“特征”和xlPasteAll来标识这些单元格。 字符属性不能通过VBA查询,因为它似乎。