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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос текста с листа на лист, но с ограничением по символм (Макросы/Sub)
Перенос текста с листа на лист, но с ограничением по символм
deft0n Дата: Четверг, 12.07.2018, 09:30 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 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
Группа: Проверенные
Ранг: Обитатель
Сообщений: 487
Репутация: 86 ±
Замечаний: 0% ±

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


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

Автор - K-SerJC
Дата добавления - 12.07.2018 в 09:52
_Boroda_ Дата: Четверг, 12.07.2018, 10:00 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 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
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 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
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 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
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 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
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

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

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

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

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

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


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

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

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

Автор - deft0n
Дата добавления - 12.07.2018 в 13:23
_Boroda_ Дата: Четверг, 12.07.2018, 16:00 | Сообщение № 12
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 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
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 0% ±

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

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

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

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

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

Автор - deft0n
Дата добавления - 16.07.2018 в 08:02
_Boroda_ Дата: Понедельник, 16.07.2018, 09:44 | Сообщение № 14
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 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
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

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


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

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

Excel 2007

Давайте объясню так. Я работаю в программе "AutoCAD", переношу Excel таблицы в него, так как они более приспособлены и удобнее чем в Autocad, но в нем (AutoCAD) есть некая проблема, когда в 1 ячейку пишешь текст, он начинает его переносить на следующую строку, но никак не на новую ячейку, в следствии чего расширяется ячейка а чего делать категорически нельзя.
Вот, на фото видно как текст выглядит после конечного редактирования именно человеком, но на то, чтобы перебрать таким образом все листы, уходит по несколько часов. Это все наименование одного прибора, которое переносится после достижения края ячейки.
Вот в данном файле, фактически замечательная работа, но есть одно но, в столбец вписывается весь текст, но возможно это не возможно вообще сделать, если так - то поправьте, но нет ли условного "Знака" чтобы программа поняла когда ей стоит понять что пошел допустим следующий прибор, на второй картинке видно что следующий прибор начался после (поз.)
К сообщению приложен файл: __.xlsm (22.5 Kb)
 
Ответить
Сообщение
Давайте объясню так. Я работаю в программе "AutoCAD", переношу Excel таблицы в него, так как они более приспособлены и удобнее чем в Autocad, но в нем (AutoCAD) есть некая проблема, когда в 1 ячейку пишешь текст, он начинает его переносить на следующую строку, но никак не на новую ячейку, в следствии чего расширяется ячейка а чего делать категорически нельзя.
Вот, на фото видно как текст выглядит после конечного редактирования именно человеком, но на то, чтобы перебрать таким образом все листы, уходит по несколько часов. Это все наименование одного прибора, которое переносится после достижения края ячейки.
Вот в данном файле, фактически замечательная работа, но есть одно но, в столбец вписывается весь текст, но возможно это не возможно вообще сделать, если так - то поправьте, но нет ли условного "Знака" чтобы программа поняла когда ей стоит понять что пошел допустим следующий прибор, на второй картинке видно что следующий прибор начался после (поз.)

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

Excel 2007
Что, ни у кого никаких идей нету?
 
Ответить
СообщениеЧто, ни у кого никаких идей нету?

Автор - deft0n
Дата добавления - 26.07.2018 в 08:14
RAN Дата: Четверг, 26.07.2018, 09:31 | Сообщение № 18
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Не убирается текст в ячейку - значит разделить на строки.
Какие идеи еще нужны?


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеНе убирается текст в ячейку - значит разделить на строки.
Какие идеи еще нужны?

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

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