在 excel 中,我试图将文本从一个单元格复制到另一张工作表中的另一个单元格。源单元格包含格式化文本(粗体、下划线、不同颜色)。但是当我使用 VBA 将文本复制到另一个单元格时,格式会丢失。
我知道这是因为 excel 只复制文本值。有没有办法从单元格中读取HTML 文本 (而不是纯文本)?
我已经用谷歌搜索了这个并没有得到任何答案。我知道如果我们使用复制和粘贴方法,我们可以复制格式。例如
Range("F10").Select
Selection.Copy
Range("I10").Select
ActiveSheet.Paste
但是我想在没有复制和粘贴的情况下进行操作,因为我的目标是一个合并的单元格,并且与我的源单元格的大小不同。excel VBA中是否有可用的选项来执行此操作?
编辑:我能够用下面的代码解决它。
Range("I11").Value = Range("I10").Value
For i = 1 To Range("I10").Characters.Count
Range("I11").Characters(i, 1).Font.Bold = Range("I10").Characters(i, 1).Font.Bold
Range("I11").Characters(i, 1).Font.Color = Range("I10").Characters(i, 1).Font.Color
Range("I11").Characters(i, 1).Font.Italic = Range("I10").Characters(i, 1).Font.Italic
Range("I11").Characters(i, 1).Font.Underline = Range("I10").Characters(i, 1).Font.Underline
Range("I11").Characters(i, 1).Font.FontStyle = Range("I10").Characters(i, 1).Font.FontStyle
Next i