excel - 使用VBA将单元格值从一个单元格复制到另一个单元格

在 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

最佳答案

使用 Excel 2010 吗?试试

Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

https://stackoverflow.com/questions/11848986/

相关文章:

c++ - Vim:源代码格式化

python - Django 进行条件格式化的方法

javascript - "user-select: none"和 Firefox 中的奇怪行为

floating-point - 如何用前导零填充 Fortran 浮点输出?

reporting-services - 如何使rdl文件中的特定文本仅加粗

java - 使用Apache POI在Excel中使用千位分隔符格式化数字

java - java中的数字格式使用Lakh格式而不是百万格式

python - 在一行中使用一个表达式两次 - 作为字符串格式的条件和?

javascript - Highcharts:共享工具提示格式化程序 this.points[i]

python - 适用于 Python 的 Visual Studio Code 缩进