Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перенос текста с листа на лист, но с ограничением по символм - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос текста с листа на лист, но с ограничением по символм (Макросы/Sub)
Перенос текста с листа на лист, но с ограничением по символм
deft0n Дата: Четверг, 12.07.2018, 09:30 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте! Прошу помощи с программой, сделать нужно следующее - у нас есть на первом листе некая "База", в ячейке A1 допустим забит текст, вроде "Один Два Три Четыре Пять Шесть Семь Восемь Девять Десять", необходимо чтобы текст переносился на лист под номером два, но с одним условием, чтобы весь текст ячейки A1, распределился по всем ячейкам вниз, то есть чтобы программа поставила условие в максимальное количество символов допустим в 8 и все что идет дальше переносилось на новую строку. Хотелось бы конечно чтобы перенос производился при помощи какой-либо кнопки, чтобы постоянно не заходить в VBA. Было бы замечательно, чтобы программа понимала когда закончилось слово, допустим чтобы она не вставляла "Один Дват ри" то есть, чтобы считала допустим пробел после слова, который бы сигнализировал о окончании текста.
К сообщению приложен файл: 7711828.xlsx(10.6 Kb)
 
Ответить
СообщениеЗдравствуйте! Прошу помощи с программой, сделать нужно следующее - у нас есть на первом листе некая "База", в ячейке A1 допустим забит текст, вроде "Один Два Три Четыре Пять Шесть Семь Восемь Девять Десять", необходимо чтобы текст переносился на лист под номером два, но с одним условием, чтобы весь текст ячейки A1, распределился по всем ячейкам вниз, то есть чтобы программа поставила условие в максимальное количество символов допустим в 8 и все что идет дальше переносилось на новую строку. Хотелось бы конечно чтобы перенос производился при помощи какой-либо кнопки, чтобы постоянно не заходить в VBA. Было бы замечательно, чтобы программа понимала когда закончилось слово, допустим чтобы она не вставляла "Один Дват ри" то есть, чтобы считала допустим пробел после слова, который бы сигнализировал о окончании текста.

Автор - deft0n
Дата добавления - 12.07.2018 в 09:30
K-SerJC Дата: Четверг, 12.07.2018, 09:52 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 359
Репутация: 52 ±
Замечаний: 0% ±

Excel 2013
Доброго дня!
в файле *.xlsx нет макросов, вы сами пытались что-то написать? или нужно сделать для вас программу?


Благими намерениями выстелена дорога в АД.
 
Ответить
СообщениеДоброго дня!
в файле *.xlsx нет макросов, вы сами пытались что-то написать? или нужно сделать для вас программу?

Автор - K-SerJC
Дата добавления - 12.07.2018 в 09:52
_Boroda_ Дата: Четверг, 12.07.2018, 10:00 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 12659
Репутация: 5191 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Да ладно, "программа"-то две строки всего
[vba]
Код
Sub tt()
    ar = Split(Range("A2"))
    Sheets("Куда переносить").Range("A2").Resize(UBound(ar) + 1) = Application.Transpose(ar)
End Sub
[/vba]
Ну, на самом деле не 2, очистить еще нужно
[vba]
Код
Sub tt()
    ar = Split(Range("A2"))
    With Sheets("Куда переносить")
        .Resize(.Parent.Cells(.Parent.Rows.Count, 1).End(3).Row).ClearContents
        .Range("A2").Resize(UBound(ar) + 1) = Application.Transpose(ar)
        .Select
    End With
End Sub
[/vba]
И еще вариант
[vba]
Код
Sub tt()
    Application.DisplayAlerts = 0
    With Sheets("Куда переносить").Range("A2")
        .Resize(.Cells(.Rows.Count, 1).End(3).Row).ClearContents
        .Value = Range("A2").Value
        .EntireColumn.ColumnWidth = 1
        .Justify
        .EntireColumn.AutoFit
        .Parent.Select
    End With
    Application.DisplayAlerts = 1
End Sub
[/vba]
К сообщению приложен файл: 7711828_1.xlsm(18.9 Kb) · 7711828_2.xlsm(19.0 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеДа ладно, "программа"-то две строки всего
[vba]
Код
Sub tt()
    ar = Split(Range("A2"))
    Sheets("Куда переносить").Range("A2").Resize(UBound(ar) + 1) = Application.Transpose(ar)
End Sub
[/vba]
Ну, на самом деле не 2, очистить еще нужно
[vba]
Код
Sub tt()
    ar = Split(Range("A2"))
    With Sheets("Куда переносить")
        .Resize(.Parent.Cells(.Parent.Rows.Count, 1).End(3).Row).ClearContents
        .Range("A2").Resize(UBound(ar) + 1) = Application.Transpose(ar)
        .Select
    End With
End Sub
[/vba]
И еще вариант
[vba]
Код
Sub tt()
    Application.DisplayAlerts = 0
    With Sheets("Куда переносить").Range("A2")
        .Resize(.Cells(.Rows.Count, 1).End(3).Row).ClearContents
        .Value = Range("A2").Value
        .EntireColumn.ColumnWidth = 1
        .Justify
        .EntireColumn.AutoFit
        .Parent.Select
    End With
    Application.DisplayAlerts = 1
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 12.07.2018 в 10:00
deft0n Дата: Четверг, 12.07.2018, 11:20 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
И еще вариант


Снова выручаете, спасибо вам огромное!
 
Ответить
Сообщение
И еще вариант


Снова выручаете, спасибо вам огромное!

Автор - deft0n
Дата добавления - 12.07.2018 в 11:20
Iricha Дата: Четверг, 12.07.2018, 11:23 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 30
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
к моему стыду, я очень далеко от макросов. можно на моём файле эксель это прописать? я попробую повторить по аналогии по всем остальным вкладкам
 
Ответить
Сообщениек моему стыду, я очень далеко от макросов. можно на моём файле эксель это прописать? я попробую повторить по аналогии по всем остальным вкладкам

Автор - Iricha
Дата добавления - 12.07.2018 в 11:23
deft0n Дата: Четверг, 12.07.2018, 11:48 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
_Boroda_, такой вопрос, у меня есть допустим уже цельный текст, что-то вроде "Молодой человек", но мне не нужно чтобы "молодой" и "человек" были на отдельных ячейках, что нужно добавить?


Сообщение отредактировал deft0n - Четверг, 12.07.2018, 11:53
 
Ответить
Сообщение_Boroda_, такой вопрос, у меня есть допустим уже цельный текст, что-то вроде "Молодой человек", но мне не нужно чтобы "молодой" и "человек" были на отдельных ячейках, что нужно добавить?

Автор - deft0n
Дата добавления - 12.07.2018 в 11:48
_Boroda_ Дата: Четверг, 12.07.2018, 12:11 | Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 12659
Репутация: 5191 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Или создать отдельный список исключений и проверять его макросом, или писать слова не через пробел (символ 32), а через неразрывный пробел (символ 160). Ввести его можно, набрав на цифровой клавиатуре 0160, держа при этом нажатым левый Альт, или Вставка - Символ - Специальные знаки - Неразрывный пробел

Iricha, это Вы про что


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеИли создать отдельный список исключений и проверять его макросом, или писать слова не через пробел (символ 32), а через неразрывный пробел (символ 160). Ввести его можно, набрав на цифровой клавиатуре 0160, держа при этом нажатым левый Альт, или Вставка - Символ - Специальные знаки - Неразрывный пробел

Iricha, это Вы про что

Автор - _Boroda_
Дата добавления - 12.07.2018 в 12:11
deft0n Дата: Четверг, 12.07.2018, 12:15 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
_Boroda_, не знаю откуда вы такой добрый, но снова спасибо
 
Ответить
Сообщение_Boroda_, не знаю откуда вы такой добрый, но снова спасибо

Автор - deft0n
Дата добавления - 12.07.2018 в 12:15
deft0n Дата: Четверг, 12.07.2018, 12:33 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
_Boroda_, снова я, думаю уже надоел но если не сложно то как можно реализовать чтобы он переносил слово опираясь не от проблема, а от ограничения символов?
 
Ответить
Сообщение_Boroda_, снова я, думаю уже надоел но если не сложно то как можно реализовать чтобы он переносил слово опираясь не от проблема, а от ограничения символов?

Автор - deft0n
Дата добавления - 12.07.2018 в 12:33
RAN Дата: Четверг, 12.07.2018, 13:09 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4784
Репутация: 963 ±
Замечаний: 0% ±

2010
Вводим в поиск слово мяв


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеВводим в поиск слово мяв

Автор - RAN
Дата добавления - 12.07.2018 в 13:09
deft0n Дата: Четверг, 12.07.2018, 13:23 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
RAN, я слишком глуп, есть ли возможность объединить два этих кода? То есть ваш и код переноса от Бороды?
 
Ответить
СообщениеRAN, я слишком глуп, есть ли возможность объединить два этих кода? То есть ваш и код переноса от Бороды?

Автор - deft0n
Дата добавления - 12.07.2018 в 13:23
_Boroda_ Дата: Четверг, 12.07.2018, 16:00 | Сообщение № 12
Группа: Модераторы
Ранг: Местный житель
Сообщений: 12659
Репутация: 5191 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
не знаю откуда вы такой добрый
Москвич я. Которых так не любят немосквичи %)

Еще раз уточните условия - как переноситься должно? Делим по словам, но если длина нескольких слов (включая пробелы между ними) будет меньше 8 знаков, то эти слова суем в одну ячейку, правильно?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
не знаю откуда вы такой добрый
Москвич я. Которых так не любят немосквичи %)

Еще раз уточните условия - как переноситься должно? Делим по словам, но если длина нескольких слов (включая пробелы между ними) будет меньше 8 знаков, то эти слова суем в одну ячейку, правильно?

Автор - _Boroda_
Дата добавления - 12.07.2018 в 16:00
deft0n Дата: Понедельник, 16.07.2018, 08:02 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Еще раз уточните условия

Прошу прощения за долгий ответ, проблемы с интернетом.

Получается смотрите, у нас есть слово, предположим "Персональный компьютер" - это, уже не входит в одну строку, но нужно чтобы программа не дробила слова, что-то вроде "Персональн ый" "комп ьютер", чтобы было в одной ячейке "Персональный" в другой "Компьютер", цельное слово, ибо обычный перенос делит именно по символам, я неправильно изначально объяснил, потому он работает не совсем так, как нужно было :(
 
Ответить
Сообщение
Еще раз уточните условия

Прошу прощения за долгий ответ, проблемы с интернетом.

Получается смотрите, у нас есть слово, предположим "Персональный компьютер" - это, уже не входит в одну строку, но нужно чтобы программа не дробила слова, что-то вроде "Персональн ый" "комп ьютер", чтобы было в одной ячейке "Персональный" в другой "Компьютер", цельное слово, ибо обычный перенос делит именно по символам, я неправильно изначально объяснил, потому он работает не совсем так, как нужно было :(

Автор - deft0n
Дата добавления - 16.07.2018 в 08:02
_Boroda_ Дата: Понедельник, 16.07.2018, 09:44 | Сообщение № 14
Группа: Модераторы
Ранг: Местный житель
Сообщений: 12659
Репутация: 5191 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Если Вы про неделимые словосочетания - то на этот вопрос я Вам ответил -
Или создать отдельный список исключений и проверять его макросом, или писать слова не через пробел (символ 32), а через неразрывный пробел (символ 160)
Если нужно что-то более конкретное (я про список исключений), то нужен Ваш нормальный файл - как было, как нужно, список исключений. Желательно все это (как было - как нужно) в нескольких вариантах.
И причем здесь вообще тогда 8 символов, если делим по словам?
А если Вы про дележку по словам независимо от их длины, то разве мои макросы из 3-го поста не так делают?
Короче, по-любому нужен пример

* Добавлено
Тем более, что может быть вариант, когда "Один Два" мы не делим, а "Два Три" делим. Тогда на длину слов завязка не получается


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995


Сообщение отредактировал _Boroda_ - Понедельник, 16.07.2018, 12:06
 
Ответить
СообщениеЕсли Вы про неделимые словосочетания - то на этот вопрос я Вам ответил -
Или создать отдельный список исключений и проверять его макросом, или писать слова не через пробел (символ 32), а через неразрывный пробел (символ 160)
Если нужно что-то более конкретное (я про список исключений), то нужен Ваш нормальный файл - как было, как нужно, список исключений. Желательно все это (как было - как нужно) в нескольких вариантах.
И причем здесь вообще тогда 8 символов, если делим по словам?
А если Вы про дележку по словам независимо от их длины, то разве мои макросы из 3-го поста не так делают?
Короче, по-любому нужен пример

* Добавлено
Тем более, что может быть вариант, когда "Один Два" мы не делим, а "Два Три" делим. Тогда на длину слов завязка не получается

Автор - _Boroda_
Дата добавления - 16.07.2018 в 09:44
RAN Дата: Понедельник, 16.07.2018, 11:58 | Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4784
Репутация: 963 ±
Замечаний: 0% ±

2010
А мои мяуки вообще могут поделить
"Персональный компьютер дома" на
"Персональный компьютер" и "дома"
или
"Персональный"
"компьютер"
"дома"
В зависимости от разрешенного кол-ва символов в строке.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеА мои мяуки вообще могут поделить
"Персональный компьютер дома" на
"Персональный компьютер" и "дома"
или
"Персональный"
"компьютер"
"дома"
В зависимости от разрешенного кол-ва символов в строке.

Автор - RAN
Дата добавления - 16.07.2018 в 11:58
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос текста с листа на лист, но с ограничением по символм (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2018 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!