Доброго времени суток знатоки Excel.
Проблема ограничения текста длиной в 256 символов меня преследует, в связи с чем прошу помощи.
Есть 2 макроса:
Первый создает коллекцию уникальных значений высоты строк и запоминает соответствующие им области.
Код |
---|
For Each iCells In Obl 'Запоминаем уникальные значения высоты строк в коллекцию
On Error Resume Next:
If iCells <> "" Then Coll.Add CStr(iCells.RowHeight), CStr(iCells.RowHeight)
If NewObl Is Nothing Then Set NewObl = iCells Else Set NewObl = Union(NewObl, iCells)
On Error GoTo 0
Next iCells:
iОбласть(i) = NewObl.Address
В итоге получается 2-а массива (высота строк, адрес области)
|
Второй макрос возвращает строкам ранее запомненные высоты строк, так как между ними пользователь осуществляет различные действия, которые приводят к изменению высоты различных строк, т.е. возвращаем первоначальный вид листу.
Однако обнаружил проблему несоответствия высоты ряда строк их первоначальному виду. Опытным путем обнаружил, что при:
последняя выделенная строка - 2229, а
Код |
---|
Debug.Print NewObl.Address |
выдал:
$G$44:$G$53,$G$64:$G$73,$G$82:$G$91,$G$93:$G$102,$G$115:$G$120,$G$142:$G$151,$G$153:$G$162,$G$164:$G$172,$G$199:$G$208,$G$221:$G$230,$G$232:$G$240,$G$242:$G$251,$G$253:$G$258,$G$270:$G$279,$G$281:$G$289,$G$304:$G$313,$G$322:$G$331,$G$344:$G$353
Вот может мне кто-нибудь объяснить:
1. String - Используется для хранения текста. Может содержать от 0 символов до приблизительно
2 миллиардов символов. В чем проблема?
2. Можно ли ее решить?
3. Есть ли другие способы решения моей задачи. У меня пока только одна идея - 1-м макросом делать копию листа.
Извините за "простыню текста"