从Excel中的一堆=EMBED("Forms.HTML:TextArea.1"," ")中提取文本



我——嗯,我的朋友——有一个混合了常规文本和文本区域框的excel电子表格——它是从某个网站复制过来的,她想只显示文本区域中的文本,而不是显示文本框。

帮助吗?

选择一个文本框/区域在"design"视图显示=嵌入("Forms.HTML:TextArea.1",")的公式栏。它们被称为"控制1"、"控制2"等。

是否有一种很好的方法来替换文本框?假设有一些vba的优点,但我无法弄清楚如何知道控件在哪个单元格中以替换自己....完全错了?

谢谢,艾米

对于Excel 2013,我不得不做一个小的改变来让它工作。我也想为此说声谢谢,效果很好。

Sub Tester()
Dim o
    For Each o In ActiveSheet.OLEObjects
        If o.progID = "Forms.HTML:Text.1" Then
            Debug.Print o.Name, o.Object.Value, o.TopLeftCell.Address()
            'sometimes merged cells result from a HTML copy/paste,
            '  so don't just use .TopLeftCell to set the Value
            o.TopLeftCell.MergeArea.Value = o.Object.Value
            o.Delete
        End If
    Next o
End Sub

这可能会让你接近。

Sub Tester()
Dim o
    For Each o In ActiveSheet.OLEObjects
        If o.progID = "Forms.HTML:TextArea.1" Then
            Debug.Print o.Name, o.Object.Value, o.TopLeftCell.Address()
            'sometimes merged cells result from a HTML copy/paste,
            '  so don't just use .TopLeftCell to set the Value
            o.TopLeftCell.MergeArea.Value = o.Object.Value
            o.Delete
        End If
    Next o
End Sub

最新更新