gpt4 book ai didi

excel - 合并 2 个 Excel 单元格的内容,保持字符格式不变(使用 VBA)

转载 作者:行者123 更新时间:2023-12-03 23:37:23 26 4
gpt4 key购买 nike

正如标题所说:我尝试将 2 个单元格的内容合并到 Excel 中的第 3 个单元格中。有一个类似的问题here on SO ,但这些解决方案不能保持字符格式不变。例如,源单元格内容的一部分被格式化为粗体和红色,其他部分是正常的。当我像合并它们时

 Range("A3") = Range("A1") & Range("A2")

那么 A1 和 A2 的任何格式都会丢失。我需要的是一种保持格式不变的解决方案。这将成为一个更大的 VBA 程序的一部分,所以我需要一个 VBA 解决方案,请不要使用公式。 Excel 版本为 2002(XP)。

最佳答案

博士,这是一个有趣的问题。我自己被难住了,但看到了它的值(value),所以经过一番搜索,这就是我找到的。来自 vbaexpress我对单元格格式有了基本的了解,我在下面对其进行了修改以供您使用。

Sub Merge_Cells()
Dim iOS As Integer
Dim rngFrom1 As Range
Dim rngFrom2 As Range
Dim rngTo As Range
Dim lenFrom1 As Integer
Dim lenFrom2 As Integer

Set rngFrom1 = Cells(1, 1)
Set rngFrom2 = Cells(1, 2)
Set rngTo = Cells(1, 3)
lenFrom1 = rngFrom1.Characters.Count
lenFrom2 = rngFrom2.Characters.Count

rngTo.Value = rngFrom1.Text & rngFrom2.Text

For iOS = 1 To lenFrom1
With rngTo.Characters(iOS, 1).Font
.Name = rngFrom1.Characters(iOS, 1).Font.Name
.Bold = rngFrom1.Characters(iOS, 1).Font.Bold
.Size = rngFrom1.Characters(iOS, 1).Font.Size
.ColorIndex = rngFrom1.Characters(iOS, 1).Font.ColorIndex
End With
Next iOS
For iOS = 1 To lenFrom2
With rngTo.Characters(lenFrom1 + iOS, 1).Font
.Name = rngFrom2.Characters(iOS, 1).Font.Name
.Bold = rngFrom2.Characters(iOS, 1).Font.Bold
.Size = rngFrom2.Characters(iOS, 1).Font.Size
.ColorIndex = rngFrom2.Characters(iOS, 1).Font.ColorIndex
End With
Next iOS

End Sub

只需用您的特定单元格更改 3 个单元格()。也许有人可以找到一种更清洁的方法,但是当我对此进行测试时,它就像我理解你(和我)所希望的那样工作。
希望这可以帮助...

关于excel - 合并 2 个 Excel 单元格的内容,保持字符格式不变(使用 VBA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2192730/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com