powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Количество "строк" текста в одной ячейке
10 сообщений из 10, страница 1 из 1
Количество "строк" текста в одной ячейке
    #32320977
Тут вот несколькими постами ниже рассматривался вопрос про размер ячейки - у меня трабл немного похожий, но очевидного решения не нашел.

В ячейку может быть записано предложение из разного количества слов разной длины. Ширина ячейки пусть будет фиксированная. Работает перенос текста по словам. Нужно посчитать количество "строчек в ячейке", которое по факту занимает предложение. Вариант с анализом состава предложения, поиска пробелов и моделирования логики переноса строк мне кажется слишком навороченным. Можно ли допросить Excel на предмет того сколько "строчек в ячейке" он выделил под текст? Ведь он довольно быстро делает автоматическую высоту ячеек...Или спасение только в анализе текста

Буду благодарен за советы, поиском порылся - ничего не нашел:(
...
Рейтинг: 0 / 0
Количество "строк" текста в одной ячейке
    #32321553
Processor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот пример, из которого следуют, скорее ограничения, нежели панацея:
Код: plaintext
1.
2.
3.
4.
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
 If .Address =  "$A$1 " Then .Offset( 0 ,  1 ) = .EntireRow.Height / .Worksheet.StandardHeight
End With
End Sub
...
Рейтинг: 0 / 0
Количество "строк" текста в одной ячейке
    #32321668
Hibernate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тебе нужна высота ячейки, или именно количество строк?
...
Рейтинг: 0 / 0
Количество "строк" текста в одной ячейке
    #32321699
Эту мысль я тоже подумал - она была бы вполне рабочей если бы XL не мудрил с переносом - так в строке высотой 31,5 (по умолчанию минимум autofit'a) может быть и одна и две строки 12-м шрифтом, тут чисто геометрический подход дает некую дельту, вероятность или недоучета строки или ее переучета... Но спасибо, описание натолкнуло на идею проверить новую пару вариантов. Вот понять бы по какому принципу сам autofit работает...
...
Рейтинг: 0 / 0
Количество "строк" текста в одной ячейке
    #32321719
To Hibernate

Именно количество "строчек" текста в ячейке, высоту я знаю как найти, да и это где-то недалеко здесь уже даже обсуждалось


У меня до 10000-20000 строк в одном файле

В каждой строчке есть текстовая ячейка с текстом

"Спасибо товарищу сталину за наше счастливое детство"
или в этом духе но раз в 10 длиннее
12 шрифт
Когда я получаю файл то делаю перенос слов в ячейке и автоподборку высоты.

"Спасибо товарищу
сталину за наше
счастливое
детство"

Но из-за ряда особенностей (мелкий шрифт, масштабирование 41 процент) на бумаге это все коряво выглядит при печати - нижние строки не печатаются - им явно нужно расширить ячейку. Понимая сколько строчек получилось в ячейках я бы принудительно изменил высоту строки...
Типа три "строчки" - высота +10
Четыре - высота + 15 и т.д.

А иначе я всю Карелию на бумагу для принтера израсходую пока ошибки по факту править буду
...
Рейтинг: 0 / 0
Количество "строк" текста в одной ячейке
    #32321794
Hibernate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм. а вариант - в каком-то другом листе взять тестово загнать нужную строчку в ячейку аналогичной ширины, сделать для ячейки autofit по высоте, получить высоту ячейки, и уже потом делать выводы о количестве строк?
...
Рейтинг: 0 / 0
Количество "строк" текста в одной ячейке
    #32321868
XL отводит одинаковую пограничную выстоту - так в ячейке высотой

от 17,25 до 31,5 включительно! - 1 "строчка"
от 31,5 включительно до 47,25 включительно - 2 строчки

Т.Е. в ячейке высотой 31,5 с непонятной вероятностью может оказаться как 1 так и 2 строчки и т.д. (соотв для др. пограничных значений высоты м.б. 2-3, 3-4, 4-5 строчек)
...
Рейтинг: 0 / 0
Количество "строк" текста в одной ячейке
    #32323085
Processor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, переформулировать задачу:
Как контролируемо напечатать строку произвольной длины в Excel'е?
1. Определяешь максимальную длину строки, помещающуюся в ячейку без переноса.
2. Извлекаешь текст из ячейки и режешь его на куски "не более чем".
3. Заполняешь кусками последовательные ячейки вниз.
Переносишь содержимое исходных Excel-ячеек в сободные ячейки первой строки.
4. etc.
...
Рейтинг: 0 / 0
Количество "строк" текста в одной ячейке
    #32323178
Иметь 4 кусочка текста в разных ячейках это в принципе неплохо для печати :) идея классная!
но таблица рабочая - т.е. текст после всех операций должен "физически" находиться в одной ячейке, а его туда из 4-х в нужном виде все-равно засунуть не получится:( ну если не пускать обратную процедуру:)

На текущий момент проблема "решена" путем подбора высоты в полуручном режиме (времени ушло - огого), но сама проблемка показалась занятной и на варианты решения я смотрю с интересом:)

Но на сформулированную проблему с печатью я думаю ответ получен приемлемый, спасибо!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Количество "строк" текста в одной ячейке
    #39877246
Уххх, прошло 16 лет, но раз я нашел это обсуждение, возможно, когда-то кто-то тоже наткнется на этот текст.

Я нашел следующее решение: если ячейка объединенная, то у неё может быть высота как у двух ячеек, поэтому можно просто от каждой ячейки создать вниз ещё несколько и объединить их в неё (Range.Merge).

Чтобы не всплывало Alert, можно Application.DisplayAlerts = False (не забывать Application.DisplayAlerts = True в конце)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Количество "строк" текста в одной ячейке
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]