2017-02-23 404 views
0

我有一个包含HTML数据的excel单元格(AF17)。 我需要将其复制到报告中的单元格(A7) 我需要格式化的文本留在一个单元格中。每当我粘贴数据时,它会将其自身分隔成多个垂直单元格。 这里是我的代码在这一点:如何将HTML格式的文本粘贴到一个excel单元格中

Private Sub Converter() 

    Dim objData As DataObject ' Set a reference to MS Forms 2.0 
    Dim sHTML As String 
    Dim sSelAdd As String 

    Application.EnableEvents = False 

    sHTML = "<HTML>" & Range("AF3").Value & "</HTML>" 

    Set objData = New DataObject 
    objData.SetText sHTML 
    objData.PutInClipboard 
    Range("A7").Select 

    ActiveSheet.PasteSpecial Format:="Unicode Text" 

    Application.EnableEvents = True 

End Sub 

我如何获得的所有文字留在一个单元格?

+0

什么是HTML? – Slai

+0

Here is the important text that we want to keep formatted.
 
    • 项目
    • 项目
    • <字体颜色= “#2E75B5”>物品
    • <字体颜色= “#2E75B5”>物品
      1. <字体颜色= “#C55A11”>物品
      2. <字体颜色= “#C55A11”>项目2
    • 项目
    • 商品
    • 商品
    • 项目
    • 项目
    • 项目
    • 项目
 
 
rtemen

+0

所以不要复制并粘贴:不能这样整个'Sub'减少到像Range(“A7”)这样的单线程。Value =“”&Range(“AF3”)。Value&“”'? – Comintern

回答

0

很少有HTML标签会导致内容在不同的单元格中继续。我知道的是<br /><tr>,但我不确定<div>标记是否是HTML中的原因。

您可以尝试删除导致它的标签,或尝试使用style="mso-data-placement:same-cell;"(不确定<html style="mso-data-placement:same-cell;">是否会直接工作)。

另一种选择可以根据需要格式化单元格,将文件另存为.html或.mhtml,然后检查为该单元格生成的HTML和CSS。

相关问题