引用一个单元格,但保持来自源单元格的文本格式
我有一个单元格,里面有一些文字。 说单元格A1。
这个文本是以某种方式格式化的 – 首先几个字是粗体,换行符,不同的字体大小等等
当我引用这个单元格时,请在单元格B1中说:
=A1
在B1中,我只是得到一长串没有A1格式的文本
有没有办法引用和保持格式?
我可以使用格式画家,它会识别单元格内的换行符,但部分大胆的写作等方面仍然不被识别。
根据我的评论:
Private changing As Boolean Private Sub Worksheet_Change(ByVal Target As Range) If Not Target.Address = [A1].Address Or changing Then Exit Sub changing = True [A1].Copy [B1] changing = False End Sub
上面的代码意味着无论何时对单元格A1
做出任何更改( 特别是 A1
– 这样, 每次在表单上进行更改时都不会执行代码 – 这样做会减慢一切), A1
任何内容都被复制到B2
用法
简单地使用
- 右键单击您的工作表名称(底部的选项卡),然后select“查看代码”
- 粘贴代码
- 改变任何单元格引用到你想要的(即取代
[A1]
与[A3]
或[A1:A4]
或[blah]
(即命名的单元格/范围)取决于你需要什么) - closures窗口。 要保存工作簿,如果要保留macros,则必须另存为.xlsm或.xlb
笔记
-
[A1]
是ThisWorkbook.ActiveSheet.Range ("A1")
缩写。 通常我会build议不要使用它,因为ActiveSheet
意味着如果代码在ThisWorkbook
任何工作表上运行,它将复制并粘贴到工作表的A1
和B1
上 ,而您可能只需要特定表单上的特定单元格。- 但是,在这种情况下,代码只适用于1张,所以这不成问题。
- 所有
changing
东西是必要的,因为复制/粘贴触发一个改变事件; 即macros触发自己一遍又一遍,直到Excel停止它 – 不理想! 我声明的variablesvariables只是作为停止程序执行的信号。