Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2012, 17:09   #1
EA_Kortes
Новичок
Джуниор
 
Регистрация: 08.02.2012
Сообщений: 2
По умолчанию Разбить длинный текст по строкам.

Товарищи помогите решить задачу на VBA, сам что-то никак не вразумлю.

- Есть таблица, в ней включен авто перенос текста, соответственно строка принимает ту высоту которая необходима для внесения всего текста.
- Требуется заполнить или переработать эту таблицу таким образом чтобы вместо авто переноса текст заполнялся в строки фиксированной длины и высоты.
Прикрепляю пример. Заранее спасибо всем участникам форума за помощь.
Вложения
Тип файла: rar Пример.rar (10.9 Кб, 22 просмотров)
EA_Kortes вне форума Ответить с цитированием
Старый 08.02.2012, 17:47   #2
MCH
Форумчанин
 
Регистрация: 21.11.2010
Сообщений: 326
По умолчанию

Как вариант
Вложения
Тип файла: rar Исходный файл.rar (9.2 Кб, 41 просмотров)
MCH вне форума Ответить с цитированием
Старый 08.02.2012, 22:08   #3
EA_Kortes
Новичок
Джуниор
 
Регистрация: 08.02.2012
Сообщений: 2
По умолчанию

-> MCH
Спасибо огромное за ответ. Завтра на работе рассмотрю приложенный Вами код подробнее) Но на первый взгляд получилось не совсем корректно если внести более длинный текст (или же цифры) без пробела. Прикладываю вариант когда код не отработал так как я хотел. В частности, после обработки обратите внимание на строку №6. В ней больше символов чем отображается в ячейке. Еще раз спасибо Вам за отзыв.
Вложения
Тип файла: rar Исходный файл - копия.rar (11.3 Кб, 26 просмотров)

Последний раз редактировалось EA_Kortes; 08.02.2012 в 22:15.
EA_Kortes вне форума Ответить с цитированием
Старый 19.02.2015, 12:02   #4
andreptobts
 
Регистрация: 05.04.2014
Сообщений: 5
По умолчанию Перенос длинного текста в строки заданной длины

Dim Text, StrocaDlina, Stroca1, Stroca1Dlina, Stroca2, Stroca2Dlina, Stroca3, Stroca3Dlina, Stroca4, Stroca4Dlina As Variant
Dim PosiciaPoisk1, PosiciaPoisk2, PosiciaPoisk3, PosiciaPoisk4, IscomText
IscomText = " "
Text = Range("A1")
StrocaDlina = Len(Text)
Range("B1").Value = StrocaDlina

PosiciaPoisk1 = Range("B2")
If PosiciaPoisk1 = Empty Or Text = Empty Then
Stroca1 = Empty
Else
If PosiciaPoisk1 >= StrocaDlina Then
Stroca1 = Text
Stroca1Dlina = Len(Stroca1)
Else
If PosiciaPoisk1 < StrocaDlina Then
Stroca1Dlina = InStr(PosiciaPoisk1, Text, IscomText, vbTextCompare)
If Stroca1Dlina = 0 Then
Stroca1 = Text
Stroca1Dlina = Len(Stroca1)
Else
Stroca1 = Left(Text, Stroca1Dlina)
End If
End If
End If
End If
Range("A2").Value = Stroca1

PosiciaPoisk2 = Range("B3") + Stroca1Dlina
If PosiciaPoisk2 = Empty Or Stroca1 = Empty Or Text = Empty Then
Stroca2 = Empty
Else
If PosiciaPoisk2 >= StrocaDlina And StrocaDlina > Stroca1Dlina Then
Stroca2 = Right(Text, StrocaDlina - Stroca1Dlina)
Stroca2Dlina = Len(Stroca2)
Else
If PosiciaPoisk2 < StrocaDlina Then
Stroca2Dlina = InStr(PosiciaPoisk2, Text, IscomText, vbTextCompare)
If Stroca2Dlina = 0 Then
Stroca2 = Right(Text, StrocaDlina - Stroca1Dlina)
Stroca2Dlina = Len(Stroca2)
Else
Stroca2 = Right(Left(Text, Stroca2Dlina), Stroca2Dlina - Stroca1Dlina)
End If
End If
End If
End If
Range("A3").Value = Stroca2
andreptobts вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
разбить текст на слова yuliyayuliya Помощь студентам 2 05.04.2011 16:31
Как в комбобоксе cделать появление хинта при наведениии на длинный текст? TwiX Общие вопросы Delphi 3 01.06.2010 15:31
Разбить текст на PHP gamer123 Помощь студентам 0 11.02.2010 23:13
Не получается в Post запросе передать длинный текст theYozh Работа с сетью в Delphi 17 18.05.2009 21:43
Как инфу от idwhois разбить по строкам? jay-forum Работа с сетью в Delphi 4 12.01.2009 16:11