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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2013, 14:26   #1
user7789
Пользователь
 
Регистрация: 29.07.2009
Сообщений: 65
По умолчанию преобразовать тест по критерию

преобразовать тест по критерию

друзья, помогите одолеть проблемку.
Коллеги обратились за помощью, пытаюсь им посодействовать..

Имеется программа которая воспринимает только определенное количество символов в строке(46) и определенное количество строк (35) в листе..
Каким бы макросом любой текст преобразовать под этот критерий?


Пытался выполнить с помощью формул, но не получилось..
user7789 вне форума Ответить с цитированием
Старый 02.10.2013, 14:32   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а нам и попыпаться не на чем - ни текста макроса, ни файла с данными
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 02.10.2013, 14:56   #3
user7789
Пользователь
 
Регистрация: 29.07.2009
Сообщений: 65
По умолчанию

админ на работе заблокировал подгрузку файлов...

в ячейке a1. имеется текст "OF THIS GUARANTEE WHICH COMPLIES WITH ALL TERMS AND CONDITIONS OF THIS GUARANTEE, STATING THE NUMBER OF THIS GUARANTEE AND THE AMOUNT PAYABLE, AND ACCOMPANIED WITH YOUR STATEMENT THAT THE BENEFICIARY HAS MADE THE ADVANCE PAYMENT WITHIN 7 DAYS FROM THE DATE OF PRO-FORMA INVOICE FOR RELEVANT SHIPMENT UNDER THE CONTRACT, EVIDENCED BY THE BANKING STATEMENT OF SUCH PAYMENT, AUTHORIZED BY THE BANK, AND THE COPY OF THE PRO-FORMA INVOICE FOR RELEVANT SHIPMENT UNDER THE CONTRACT,SIGNED BY THE PRINCIPAL, WITH THE DATE OF RELEVANT SHIPMENT, AND THE PRINCIPAL HAS FAILED TO FULFILL ITS OBLIGATIONS UNDER THE CONTRACT REGARDING SHIPMENT NOT LATER THAN 60 DAYS AFTER THE DATE WHEN ADVANCE PAYMENT ENTERED THE ACCOUNT MENTIONED IN ITEM 1 BELOW IN THIS GUARANTEE AND TO REPAY THE ADVANCE PAYMENT OR ANY PART OF IT PROVIDED THAT:1. THE GUARANTEE ENTERS INTO FORCE FOR THE (FIRST) ADVANCE PAYMENT UPON RECEIPT OF THE (FIRST) ADVANCE PAYMENT UNDER THE CONTRACT IN THE AMOUNT NOT EXCEEDING USD 485 000.00 (FOUR HUNDRED EIGHTY FIVE THOUSD 00 CENTS) INTO THE PRINCIPAL'S ACCOUNT NO."
user7789 вне форума Ответить с цитированием
Старый 02.10.2013, 14:59   #4
user7789
Пользователь
 
Регистрация: 29.07.2009
Сообщений: 65
По умолчанию

вот как бы такой текст преобразовать?
user7789 вне форума Ответить с цитированием
Старый 02.10.2013, 15:11   #5
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

я если честно не понял чего вы хотите, но может попал:

Код:
=ЛЕВСИМВ(текст;количество символов)
Код:
cells(строка (в которую нужно поместить результат),столбец (в которую нужно поместить результат))=Left(cells(строка (из которую нужно взять текст),столбец (из которую нужно взять текст)),количество симолов)
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 02.10.2013, 15:26   #6
user7789
Пользователь
 
Регистрация: 29.07.2009
Сообщений: 65
По умолчанию

имеется текст (приведен выше)в ячейке а1, его необходимо преобразовать в ячейке b1 по критерию:
что в одной строчке 46 символов разделитель между строчками alt+enter
в каждой ячейке по 35 строк из 46 символов.
если количество символов превышает заданый критерий, то продолжение происходит в ячейке c1, d1 и тд.
user7789 вне форума Ответить с цитированием
Старый 02.10.2013, 17:07   #7
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Кажется так. Но проверьте:
Код:
Option Explicit

Sub tt()
    Dim s$, ss$, x&, y&, z&
    
    s = [a1].Value
    z = 1
    For x = 1 To Len(s) Step 46
        ss = ss & vbLf & Mid(s, x, 46)
        y = y + 1
        If y = 36 Then y = 0: z = z + 1: Cells(1, z) = Mid(ss, 2): ss = ""
    Next
Cells(1, z + 1) = Mid(ss, 2): ss = ""
End Sub
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 02.10.2013 в 17:12. Причина: вбок же заказывали...
Hugo121 вне форума Ответить с цитированием
Старый 03.10.2013, 07:16   #8
user7789
Пользователь
 
Регистрация: 29.07.2009
Сообщений: 65
По умолчанию

спасибо Hugo121,

возможно чтоб слова переносились целиком?
user7789 вне форума Ответить с цитированием
Старый 03.10.2013, 09:15   #9
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Возможно. Но об этом в задаче не говорилось. Так что это уже другая задача
Вообще это намного сложнее, так сразу детали решения и не просматриваются...
Делать не берусь - жаль время тратить...
Но возможно кто-то уже такое делал, и у него есть готовое решение?
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 03.10.2013, 09:40   #10
user7789
Пользователь
 
Регистрация: 29.07.2009
Сообщений: 65
По умолчанию

как говориться, аппетит приходит во время еды))
user7789 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор по критерию Dronlion Microsoft Office Excel 2 10.05.2012 02:42
отбор по критерию ggod БД в Delphi 1 21.02.2012 01:26
Сумма по критерию WIC Microsoft Office Excel 2 19.10.2011 10:43
Выбор данных по критерию Anatoly_K Microsoft Office Excel 1 16.07.2010 09:43
сумма по заданному критерию Iskin Microsoft Office Excel 6 18.08.2009 09:00