引用一个单元格,但保持来自源单元格的文本格式

我有一个单元格,里面有一些文字。 说单元格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 任何工作表上运行,它将复制并粘贴到工作表的A1B1 ,而您可能只需要特定表单上的特定单元格。
    • 但是,在这种情况下,代码只适用于1张,所以这不成问题。
  • 所有changing东西是必要的,因为复制/粘贴触发一个改变事件; 即macros触发自己一遍又一遍,直到Excel停止它 – 不理想! 我声明的variablesvariables只是作为停止程序执行的信号。