我在VBA中编写了一个Excel加载项。它将加载项文档中的工作表复制到活动文档(以及其他任务)。我正在使用Excel 2013.
最初,加载项是XLAM,但是当目标文档是XLS(工作表中的行数)时会引发错误。
所以我将加载项保存为XLA以避免该问题,并且适用于XLS和XLSX目标,EXCEPT用于演示:源XLA的文本格式为 Tahoma ,但更改到目标文件中的 Calibri 。目标文档是XLS或XLSX时会发生这种情况。
要复制的代码非常简单,我不会在复制后进行任何格式化:
Set shTb = ActiveWorkbook.ActiveSheet
ThisWorkbook.Sheets(templateSheetName).Copy after:=shTb
Set shBal = ActiveWorkbook.ActiveSheet
我当然可以写几行来在目标中应用正确的字体,但我想了解为什么会发生这种情况。任何的想法 ?
注意:写完这个问题后,我尝试手动复制表,我也遇到同样的问题。
答案 0 :(得分:0)
在原版中,如果它说Tahoma(身体),那意味着它并没有真正设置为Tahoma。相反,“(正文)”表示程序将应用文档的默认字体。因此,当您将其复制到新书时,它会使用该书的默认值。
要解决此问题,您需要:
在复制之前将其更改为原始中的“Tahoma”
或
复制后将其更改
或者