Doc,這是一個有趣的問題。我被困住了自己,但看到了價值,所以經過一番探索後,這裏是我發現的。從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個單元格()與您的特定單元格。也許有人可以找到一種更清潔的方式,但是當我測試這個時,它按照我理解你(和我)的意願工作。
希望這有助於...
感謝克雷格,這個答案和我在過去一個小時裏找到的解決方案非常相似。有一個缺點:它非常慢(這意味着,對於200-300個字符,用戶可以看到格式化的發生),所以我希望別人找到更好的解決方案。 – 2010-02-03 17:29:44
如果您在開始時添加這些速度,速度會發生怎樣的變化? application.screenupdating =假 application.enableevents =假 application.calculation = xlmanual 然後,在端 application.calculation = xlautomatic 應用。screenupdating = true application.enableevents = true – guitarthrower 2010-02-03 17:40:41
@guitarthrower:很好,這有幫助!至少,可見的效果消失了,這就是所尋找的。如果沒有人找到更好的解決方案,我會在明天接受克雷格的答案。 – 2010-02-03 18:01:08