У меня есть столбец с ячейками, заполненными содержимым HTML, которое включает измерения в сантиметрах, которые нам нужно преобразовать в дюймы.
Число для преобразования всегда предшествует "см", как в <p><strong>Medium - 6.3cm x 7cm</strong></p>
Я пытался скопировать содержимое всей ячейки в соседнюю ячейку и определить числа для преобразования, посмотрев между «см» и пробелом.
Однако между пробелами не всегда есть пробел.число и другой символ, как могут быть случаи, как <p>8cm x 5.3cm</p>
или blah-10.5cm x 5cm
.В некоторых случаях это происходит в начале ячейки, и в этом случае также не должно быть пробела, например 12cm x 8cm - blah blah blah
.
Может кто-нибудь предложить какой-либо способ сделать это, указав число для преобразования как все нечисловые символы, предшествующие подстроке "cm"?
Что мы до сих пор пытаемся обойти, заменив символы, которые отображаются перед цифрами, пробелом ... но обнаружив, что слишком много возможностей необходимо длязамена и это также портит HTML.
Я скопировал его ниже для справки в любом случае.Если бы кто-нибудь мог помочь нам решить эту проблему, он был бы очень признателен!
Sub ChangeCM2IN()
Dim X As Long, V As Double, Cell As Range, CM() As String
Application.ScreenUpdating = False
For Each Cell In Range("A1", Cells(Rows.Count, "A").End(xlUp))
CM = Split(Replace(Replace(" " & Cell.Value, "x", "x ", , , vbTextCompare), ">", " "), "cm", , vbTextCompare)
For X = 0 To UBound(CM) - 1
V = Format(Mid(CM(X), InStrRev(CM(X), " ")) * 0.393700787401575, "0.0")
CM(X) = Left(CM(X), InStrRev(CM(X), " ")) & V
Next
Cell.Offset(, 1).Value = Join(CM, "in")
Next
Application.ScreenUpdating = True
End Sub