如果IE示例不起作用,请使用此示例。无论如何,这应该比启动IE实例更快。
这是基于http://www.dailydoseofexcel.com/archives/2005/02/23/html-in-cells-ii/的完整解决方案
请注意,如果您的innerHTML是所有数字,例如“ 12345”,则HTML格式在excel中不能完全正常工作,因为它对待数字的方式有所不同?但在末尾添加一个字符,例如尾随空格。12345 +“ ” 格式确定。
Sub test()
Cells(1, 1).Value = "1a" & _
"234"
Dim rng As Range
Set rng = ActiveSheet.Cells(1, 1)
Worksheet_Change rng, ActiveSheet
End Sub
Private Sub Worksheet_Change(ByVal Target As Range, ByVal sht As Worksheet)
Dim objData As DataObject ' Set a reference to MS Forms 2.0
Dim sHTML As String
Dim sSelAdd As String
Application.EnableEvents = False
If Target.Cells.Count = 1 Then
Set objData = New DataObject
sHTML = Target.Text
objData.SetText sHTML
objData.PutInClipboard
Target.Select
sht.PasteSpecial Format:="Unicode Text"
End If
Application.EnableEvents = True
End Sub