|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.11.2009, 01:33 | #1 |
Новичок
Джуниор
Регистрация: 05.11.2009
Сообщений: 4
|
помогите поправить макрос
ПОМОГИТЕ
В ячейках последовательность кодов они разделены между собой " - " (пробел дефис пробел) нужно оставлять в ячейке только 65 символов при этом строка всегда будет оканчиваться на "- " (дефис пробел), (т.к. коды имеют одинаковую длину), а остальные будут переноситься ниже, во вновь созданную строку, где опять будет проверяться условие на 65 символов. Но в коде может встречаться текст (21 символ) делить его нельзя, и если при этом условие 65 символов будет дробить этот текст, то нужно перенести его ниже во вновь созданную строку, ячейку снизу. и при этом проверить чтобы последними символами в этой строке были "- " (дефис пробел)(в такой последовательности), если это не так сдвигаться влево пока это условие не выполнится, далее переносы и осуществлять также. Есть макрос Sub jurnal() l = 1 s = Worksheets("Лист1").Cells(l, 4).Value While Len(s) > 0 s = Worksheets("Лист1").Cells(l, 4).Value If Len(s) > 65 Then Worksheets("Лист1").Cells(l, 4).Value = Left(s, 65) Worksheets("Лист1").Rows(l + 1).Insert Worksheets("Лист1").Cells(l + 1, 4).Value = Right(s, Len(s) - 65) End If l = l + 1 Wend End Sub как его поправить чтобы он работал так же, но при достижении в тексте определенного фрагмента (в 21 символ), который нельзя разделить и если этот фрагмент не укладывается в условие 65 символов в ячейке, то происходит перенос на новую ячейку снизу и дальше все также но в этой строке (с неделимым текстом) в любом случае нужно проверить если последние два символа в этой строке не "- " (дефис, пробел)(именно в такой последовательности), то необходимо смещаться влево до тех пор пока последними не станут эти символы, и перенос на новую ячейку снизу, далее все также. Заранее благодарен. |
05.11.2009, 01:55 | #2 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
На текст бы посмотреть,не совсем понятно.
Анализ,обработка данных Недорого
|
05.11.2009, 02:09 | #3 |
Новичок
Джуниор
Регистрация: 05.11.2009
Сообщений: 4
|
текст примерно такой
123-4-5678 - 987-0-4793 - аа ааааааааа аааааааа - 757-8-4377 - 576-8-8643 - 768-9-6499 - 969-9-8642 неделимый текст в 21 символ везде одинаковый. но может встречаться в ячейке не один раз. |
05.11.2009, 03:10 | #4 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Если условие в 65 символов не выполняется,то в ячейке может при определенных условиях остатся близкое к 65 ,только не более 65
Я правильно понял?
Анализ,обработка данных Недорого
|
05.11.2009, 07:32 | #5 |
Новичок
Джуниор
Регистрация: 05.11.2009
Сообщений: 4
|
да, но не должна делиться фраза в 21 символ и сам код, т. е. оканчиваться строка долнжа примерно так:
111-1-1111 - 111-1-1111- 111-1-1111 - 111-1-1111- 111-1-1111- 111-1-1111 - аа ааааааааа аааааааа - 111-1-1111 - 111-1-1111 - 111-1-1111- 111-1-1111 - 111-1-1111- 111-1-1111- во вторую строку еще один код (10символов) не влезет поэтому нужен перенос. срока не должна начинаться с пробела или с дефиса. |
05.11.2009, 07:41 | #6 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Вы бы лучше прикрепили файл с примером исходных строк (все возможные варианты) и примером требуемого результата. Давно получили бы нужный ответ. Иначе, к Вам будет еще "куча" уточняющих вопросов.
Чем шире угол зрения, тем он тупее.
|
05.11.2009, 10:42 | #7 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
В левую руку взял хрустальный шар,поговорил с ним ,и написал
такой код. Для проверки заполняю ячейку,уберете лишнее Код:
Анализ,обработка данных Недорого
|
06.11.2009, 21:25 | #8 |
Новичок
Джуниор
Регистрация: 05.11.2009
Сообщений: 4
|
Спасибо, попробую
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите поправить программу! Массивы в С++ | progser_ua | Помощь студентам | 1 | 03.02.2009 14:07 |
проблема с выводом данных из таблицы. помогите поправить | france@ | PHP | 4 | 07.01.2009 12:46 |
помогите поправить запрос на выборку в дельфи | Барби | Помощь студентам | 1 | 13.10.2008 11:35 |
Помогите поправить код | SANTA_KLAUD | Общие вопросы Delphi | 5 | 30.05.2008 09:01 |
помогите поправить! | koyot | Работа с сетью в Delphi | 4 | 13.02.2008 18:46 |