цвета важны, без них эти данные безсмыслены . данные были скопированы вручную через программу которая открывается в браузере, столбец получился свыше 1400 строк, столько времени было потрачено. думал разделение текста по столбцам будет с цветом, а они оказались полностью одного цвета. теперь ломаю голову. очень надеюсь что найду ответ тут
Если вы позиционируете себя первоклассником, то может начать обращение на форум с букваря? А то педагогический совет устанет вас уговаривать и ликвидирует тему
это не повод. Положим, что телефон на Android, тогда устанавливаете на ваш вкус мобильный офис, и пример на рассмотрение. Ну, или, да конечно всё завтра...
DaNik_J, Уверены, что логики нет? допустим разделить на ячейки можно, но нет ли закономерности расскраски? ну и конечно (красный, черный), стали неожиданно красным и зеленым :-)
Off Bema, Не поверите, у меня был случай, покупал в интернет магазине на кухню малыша ,
у соньки была модель в белом корпусе, но вот рамка была трех цветов (серебристая, пурпурная и бирюзовая, что на кртинке) и кодировалась Gray,Red,Green. Заказал, через пол часа звонок, из магазина. Простите, говорят, вы уверены что Вам нужен зеленый телевизор?
Подправил. Вы исходный пример сделали не полным. В данных форматирования ячейки участвовало ещё полужирный или нет текст. Как вы лодку назовёте, так она и поплывёт
Скрытый текст
Код
Public Sub testSplitTextByColor()
Dim pDoc As New MSXML2.DOMDocument30
Dim pRows As MSXML2.IXMLDOMSelection
Dim pRow As MSXML2.IXMLDOMElement
Dim pDatas As MSXML2.IXMLDOMSelection
Dim pData As MSXML2.IXMLDOMElement
Dim newCol As MSXML2.IXMLDOMElement
Dim sHtml As String, pColor As MSXML2.IXMLDOMAttribute
Dim pSheet As Worksheet, pClip As New MSForms.DataObject
sHtml = "<table>"
pDoc.LoadXML Selection.Value(xlRangeValueXMLSpreadsheet)
Set pRows = pDoc.SelectNodes("/Workbook/Worksheet/Table/Row")
For Each pRow In pRows
sHtml = sHtml & "<tr>"
Set pDatas = pRow.SelectNodes("./Cell/ss:Data")
For Each pData In pDatas
For Each newCol In pData.SelectNodes(".//Font")
Set pColor = newCol.SelectSingleNode("./@html:Color")
If pColor Is Nothing Then
sHtml = sHtml & "<td>" & newCol.Text & "</td>"
Else
sHtml = sHtml & "<td><font color='" & pColor.Text & "'>" _
& newCol.Text & "</font></td>"
End If
Next
Next
sHtml = sHtml & "</tr>"
Next
sHtml = sHtml & "</table>"
Set pSheet = ThisWorkbook.Worksheets.Add
pClip.SetText sHtml
pClip.PutInClipboard
pSheet.PasteSpecial
End Sub