我有一个包含一些文字的单元格。 说单元格A1。
此文本以某种方式格式化 - 前几个单词为粗体,换行符,不同的字体大小等
当我引用此单元格时,请在单元格B1中说:
=A1
在B1中我只得到一长串文本,其中没有A1
上的格式有没有办法引用并保持格式化?
我可以使用格式画家,它会识别单元格中的换行符,但部分粗体书写等方面仍然无法识别。
答案 0 :(得分:3)
根据我的评论:
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
<强> 用法 强>
使用,只需
[A1]
替换为[A3]
或[A1:A4]
或[blah]
(即指定的单元格/范围),具体取决于您的内容需要)<强> 备注 强>
[A1]
是ThisWorkbook.ActiveSheet.Range ("A1")
的简写。通常我建议不要使用它ActiveSheet
表示如果代码在ThisWorkbook
中的任何表上运行,它会复制并粘贴A1
和{ 该表的{1}},而您可能只想要特定工作表上的特定单元格。
B1
内容都是必需的,因为复制/粘贴会触发更改事件;即宏一遍又一遍地触发自己,直到Excel停止它 - 不理想!我声明的changing
变量只是作为一个信号来阻止程序自行执行。