excel中引用格式不变,比如A1中数据有上下标,B2引用A1的数据进行了计算,上下标的格式就没了,怎么解决?

如图,A栏的数据有上下标,且是黑体,利用公式B1=A1,B2=A2,运算后,B栏中没有了上下标和黑体。我到网上查了,据说只能用VB,那就请高手写个程序代码,我复制进去就能用。本人对vb是一窍不通,所以希望解说详细。为表谢意,100分先献上。
上面仅仅是示例,我需要经过计算后还是上下标格式,并不是简单的复制。

Sub 处理上下标()
Columns("F:F").Select '选中F列
Selection.Copy '复制
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False '选择性粘贴为数值,就是去掉了公式,保留值

For j = 1 To Range("f65536").End(xlUp).Row() '定义变量i,范围是1到F列最后
For i = 1 To Len(Cells(j, 1)) '定义变量j,范围是A列内容的len,即长度
Set rng = Cells(j, 1) '将A列单元格内容赋予rng这个变量
With Cells(j, 6).Characters(Start:=i, Length:=1).Font '此处开始循环,选中F列第j行的第i个值
.Superscript = rng.Characters(Start:=i, Length:=1).Font.Superscript '值与A列此行的第i个值的上标一样
.Subscript = rng.Characters(Start:=i, Length:=1).Font.Subscript '值与A列此行的第i个值的下标一样
End With
Next '下一个i
Next '下一个j
End Sub '结束
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-04
用宏吧,新建一个宏,把下面代码复制进去即可。。

Sub Macro1()
'
' Macro1 Macro
' 宏由 China 录制,时间: 2011-11-4
Range("A1").Copy Range("B1")
Range("A2").Copy Range("B2")
End Sub
第2个回答  2011-11-04
使用VBA也就相当于将一个单元格复制到另一个单元格,并不像公式引用那样方便。
建议使用照相机功能,照出的图片同数据源一模一样,还会随源数据的更改而变化,
调出照相机步骤:菜单栏工具--自定义--命令--工具--从右框中找到照相机(将此图标拖到工具栏)
照相机的使用:选择数据区域--点击图标按钮--在需要显示的位置画框以显示原数据
相似回答