Vba excel перенос ячеек

Переноса текста по словам в ячейках диапазона на рабочем листе Excel из кода VBA. Свойство WrapText объекта Range, возвращаемые значения. Примеры.

Range.WrapText – это свойство, которое возвращает или задает значение типа Variant, указывающее, переносится ли текст в ячейках диапазона на новые строки, если длина текста превышает ширину ячейки.

Текст в ячейках переносится по словам. Если слово не умещается в ячейке целиком, происходит перенос части слова. Обычно, высота строки рабочего листа автоматически подбирается под ячейку с максимальным количеством строк, образовавшихся в результате переноса текста.

Синтаксис

Expression.WrapText

Expression – выражение (переменная), возвращающее объект Range.

Значения

Значения, которые возвращает свойство Range.WrapText:

Параметр Значение
True Во всех ячейках указанного диапазона включен перенос текста на новые строки.
False Во всех ячейках указанного диапазона отключен перенос текста на новые строки.
Null В указанном диапазоне присутствуют пустые ячейки, или есть ячейки как с переносом текста, так и без переноса.

Примеры

Пример 1

Указание программе Microsoft Excel, что она должна или не должна переносить текст в ячейках заданного диапазона:

‘переносить текст в активной ячейке

    ActiveCell.WrapText = True

‘переносить текст во всех ячейках заданного диапазона

    Range(«A1:F20»).WrapText = True

‘не переносить текст в ячейке Cells(1, 5)

    Cells(1, 5).WrapText = False

‘не переносить текст во всех ячейках выбранного диапазона

    Selection.WrapText = False

Пример 2

Присвоение значения, возвращаемого свойством Range.WrapText, переменной:

Dim a As Variant

a = Range(«B2»).WrapText

a = Rows(«1:2»).WrapText

Пример 3

Просмотр значения, возвращаемого свойством Range.WrapText, с помощью информационного окна MsgBox:

If Not Selection.WrapText = Null Then

    MsgBox Selection.WrapText

Else

    MsgBox «Null»

End If

Условие необходимо из-за того, что MsgBox не может отобразить значение Null – возникает ошибка. Поэтому, когда свойство Range.WrapText = Null, мы задаем в качестве аргумента функции MsgBox – строку «Null».

 

Boris05036

Пользователь

Сообщений: 42
Регистрация: 12.03.2016

Доброго времени суток!

На листе в ячейке A1 запись в две строки. При ее записи весь текст сливается в одну строчку.
Как сделать так, чтобы сохранить данные построчно…. может быть в массиве? а затем после обработки вставить в другую ячейку в таком же виде в две строки обратно…

 

Jack Famous

Пользователь

Сообщений: 10848
Регистрация: 07.11.2014

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

Пока попробуйте в формате ячейки или на ленте поставить галочку/нажать кнопку «переносить текст».

Изменено: Jack Famous16.01.2018 14:28:47

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

Boris05036

Пользователь

Сообщений: 42
Регистрация: 12.03.2016

Jack Famous, ладно, понял в чем беда, сначала

пошагово, что я хочу
1) На листе в ячейке A1 запись многострочная через перенос alt+enter (так надо)
2) в vba есть переменная A, в которую я записываю ячейку A1 (при этом текст из многострочного превращается в одну строку — а мне надо, чтобы данная структура сохранялась)
3) какие-то действия с данными
4) нужно вывести в ячейку A2 отредактированную переменную A, но при этом должна быть сохранена первоначальная структура с переносами внутри ячейки (vbLf)

 

sokol92

Пользователь

Сообщений: 4445
Регистрация: 10.09.2017

#4

16.01.2018 13:48:12

Уважаемый Boris05036! В Excel замечательная среда программирования, в которой можно очень быстро проверять различные гипотезы, в частности Вашу.

Код
Sub test()
  Dim a
  a = Range("A1")
  Range("A2") = a
End Sub

Мы видим, что в случае, когда ячейка A1 является многострочной, ячейка A2 также является многострочной (знак vblf никуда не исчезает).

Владимир

 

Boris05036

Пользователь

Сообщений: 42
Регистрация: 12.03.2016

sokol92, спасибо, вы прав (видимо я уже перегрелся), я понял, но проблема остается, дополню

в итоге данная ячейка уходит затем в htmlbody (outlook) и видимо для него vbLf вещь непонятная
если это возможно в рамках данной темы, то прошу подсказать, как мне в сообщении html сохранить это?

В сообщение вставка происходит с использованием переменной vba

Изменено: Boris0503616.01.2018 13:52:57

 

RAN

Пользователь

Сообщений: 7091
Регистрация: 21.12.2012

Excel, он, конечно, умный, но самостоятельно параметр «перенос текста» в ячейках изменять не умеет.  :)

 

Апострофф

Пользователь

Сообщений: 720
Регистрация: 06.04.2015

#7

16.01.2018 14:15:29

Цитата
Boris05036 написал:
для него vbLf вещь непонятная

Код
s=replace(s,vblf,vbcr)


или

Код
s=replace(s,vblf,vbcrlf)

один из вариантов(а может и оба) он должен понять…

Изменено: Апострофф16.01.2018 14:16:05

 

Boris05036

Пользователь

Сообщений: 42
Регистрация: 12.03.2016

#8

16.01.2018 14:21:26

Цитата
Апострофф написал:
один из вариантов(а может и оба) он должен понять…

ни один не понял, но спасибо за идею, как-то я сразу недоехал, переменная ведь все равно текстовая, так работает

Код
s=replace(s,vbLf, "<br>")
 

sokol92

Пользователь

Сообщений: 4445
Регистрация: 10.09.2017

#9

16.01.2018 14:26:56

Для более сложных случаев есть метод

PublishObjects.Add

Владимир

Home / VBA / VBA Wrap Text (Cell, Range, and Entire Worksheet)

In VBA, there is a property called “WrapText” that you can access to apply wrap text to a cell or a range of cells. You need to write code to turn it ON or OFF. It’s a read and writes property, so you can apply it, or you can also get it if it’s applied on a cell.

In this tutorial, we will look at different ways of applying wrap text using a VBA code.

Wrap Text to a Cell using VBA

Use the following steps to apply Wrap Text using a VBA Code.

  1. Define the cell where you want to apply the wrap text using the range property.
  2. Type a dot to see the list of the properties and methods for that cell.
  3. Select the “WrapText” property from the list.
  4. Enter the equals sign “=” and type TRUE to turn on the wrap text.
Sub vba_wrap_text()
  Range("A1").WrapText = True
End Sub

You can also specify a cell using the following way.

Cells(1, 1).WrapText = True

Wrap Text to a Range of Cells

And if you want to apply wrap text to an entire range then you need to specify the range instead of a single cell.

Range("A1:A5").WrapText = True

You can also apply it to the used range (selection of the worksheet where you have entered data) by using the “UsedRange” property.

Worksheets("Sheet1").UsedRange.WrapText = True
ActiveSheet.UsedRange.WrapText = True

In the above code’s first line, you have specified the worksheet and then the “UsedProperty” to wrap the text. In the second line, you have the active sheet’s used range. But both lines work in the same way.

Here are a few more examples that you need to know:

  • Non-continues cells
  • Entire Row
  • Entire Column
  • Named Range
Range("A1:A10,C1:C10").WrapText = True
Range("A:A").WrapText = True
Range("1:1").WrapText = True
Range("myRange").WrapText = True

To refer to the entire worksheet you need to use the Cells property as you have in the following code.

Cells.WrapText = True
Worksheets("Sheet1").Cells.WrapText = True

The first line of code refers to the active sheet and the second line to the worksheet “Sheet1”. You can also use a loop using FOR EACH (For Next) to loop through all the worksheets of the workbook and apply the wrap text on all the cells.

Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
   Cells.WrapText = True
Next ws

In the above code, you have “ws” as a variable and then For Each Loop loops through all the worksheets from the workbook and applies to wrap text to the entire worksheet using Cells.

Turn OFF WrapText

As you have seen you need to turn on the WrapText property, and in the same way you can turn it off by using add declaring FALSE.

Range("A1").WrapText = False

Note: There’s one thing you need to understand if you have a value in a cell and the width of the cells is enough to store that value, then even if you apply wrap text, Excel won’t shift the content to the next line.

More Tutorials

    • Count Rows using VBA in Excel
    • Excel VBA Font (Color, Size, Type, and Bold)
    • Excel VBA Hide and Unhide a Column or a Row
    • Excel VBA Range – Working with Range and Cells in VBA
    • Apply Borders on a Cell using VBA in Excel
    • Find Last Row, Column, and Cell using VBA in Excel
    • Insert a Row using VBA in Excel
    • Merge Cells in Excel using a VBA Code
    • Select a Range/Cell using VBA in Excel
    • SELECT ALL the Cells in a Worksheet using a VBA Code
    • ActiveCell in VBA in Excel
    • Special Cells Method in VBA in Excel
    • UsedRange Property in VBA in Excel
    • VBA AutoFit (Rows, Column, or the Entire Worksheet)
    • VBA ClearContents (from a Cell, Range, or Entire Worksheet)
    • VBA Copy Range to Another Sheet + Workbook
    • VBA Enter Value in a Cell (Set, Get and Change)
    • VBA Insert Column (Single and Multiple)
    • VBA Named Range | (Static + from Selection + Dynamic)
    • VBA Range Offset
    • VBA Sort Range | (Descending, Multiple Columns, Sort Orientation
    • VBA Check IF a Cell is Empty + Multiple Cells

    ⇠ Back to What is VBA in Excel

    Helpful Links – Developer Tab – Visual Basic Editor – Run a Macro – Personal Macro Workbook – Excel Macro Recorder – VBA Interview Questions – VBA Codes

    0 / 0 / 0

    Регистрация: 09.01.2013

    Сообщений: 13

    1

    09.01.2013, 18:33. Показов 17999. Ответов 12


    Студворк — интернет-сервис помощи студентам

    Добрый день. Делаю очень большой древовидный список в Excel. Часто приходится перетаскивать ячейку на 1 вправо. A1 -> A2, B3->B4 и т.д. Можно ли как-то делать это действие горячими клавишами? Наверное требуется макрос. Если кто подскажет такой — буду очень благодарен. Спасибо.



    0



    5468 / 1148 / 50

    Регистрация: 15.09.2012

    Сообщений: 3,514

    09.01.2013, 19:18

    2

    lehachgtop, выложите книгу Excel с примерными данными и поясните, что нужно сделать.



    0



    0 / 0 / 0

    Регистрация: 09.01.2013

    Сообщений: 13

    09.01.2013, 19:58

     [ТС]

    3

    Цитата
    Сообщение от lehachgtop
    Посмотреть сообщение

    перетаскивать ячейку на 1 вправо. A1 -> A2, B3->B4

    Ошибся. A1 -> B2, B3 -> C3 и т.д.

    Сделал примерную книгу. Если бы можно было одной клавишей (или простой комбинацией клавиш) перемещать содержимое ячейки в ячейку соседнего столбца справа — это в разы бы ускорило работу.



    0



    Скрипт

    5468 / 1148 / 50

    Регистрация: 15.09.2012

    Сообщений: 3,514

    09.01.2013, 20:07

    4

    lehachgtop, вот по такому принципу можно перемещать данные из активной ячейки в ячейку, находящуюся справа:

    Visual Basic
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    Sub Макрос1()
        
        'Offset(0, 1) - это ячейка, которая находится
            'в той же строке, но в следующем столбце.
        ActiveCell.Offset(0, 1).Value = ActiveCell.Value
        'Очистка активной ячейки.
        ActiveCell.Formula = ""
        
    End Sub

    А как вызывать этот макрос — вам решать. Можно сочетание клавиш сделать. Ещё у листа есть события, например, при двойном клике по ячейке можно вызывать макрос.



    1



    0 / 0 / 0

    Регистрация: 09.01.2013

    Сообщений: 13

    09.01.2013, 21:02

     [ТС]

    5

    А можно с помощью макроса сделать выделение ячеек (фон)? Например я выделил 6 ячеек, жму клавиши, и макрос выделяет заданным цветом фон.



    0



    Igor_Tr

    4377 / 661 / 36

    Регистрация: 17.01.2010

    Сообщений: 2,134

    09.01.2013, 21:22

    6

    Можно, конечно! Но зачем с помощью макроса, и жать клавиши?

    Visual Basic
    1
    
    [a1].Interior.ColorIndex = 10 ' зеленый

    Осталось Вам только продумать, как программа, по каким критериям, будет определять ячейки под заливку.



    0



    0 / 0 / 0

    Регистрация: 09.01.2013

    Сообщений: 13

    09.01.2013, 22:06

     [ТС]

    7

    Цитата
    Сообщение от Igor_Tr
    Посмотреть сообщение

    как программа, по каким критериям, будет определять ячейки под заливку.

    Но это должен определять я вручную. Быстрее всего — с горячими клавишами.



    0



    Igor_Tr

    4377 / 661 / 36

    Регистрация: 17.01.2010

    Сообщений: 2,134

    10.01.2013, 00:17

    8

    Хорошо, давайте по другому. Чем Вы будете руководствоваться при выделении вручную? Наличием текста?, символов?, цифр?, комбинациями? Вот это и научите железяку. Она послушная. Например, если у Вас в ячейке встречаеться число 2 — закрасить! немедленно!

    Visual Basic
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    Sub ЗАЛИТЬ_Желтым()
    Dim mRng As Range
    Dim endRow As Long
    Dim aCell As Object
    'заносим, для примера, данные:
        [a3] = 2: [b4] = 2: [d5] = 2
        [b1] = "abd": [b6] = "24 asdf": [d2] = "и т.д."
        endRow = ActiveSheet.UsedRange.Row - 1 + _
                    ActiveSheet.UsedRange.Rows.Count
    Set mRng = Range("a1:d" & endRow)
        With mRng 
            For Each aCell In .Cells
                If aCell.Value = 2 Then ' если в ячейке число 2...
                    aCell.Interior.ColorIndex = 36 ' ...залить его чемто желтим!
                End If
            Next
        End With
    End Sub

    А вобще есть еще много способов сделать это-же.

    Добавлено через 16 минут
    А вобще Вы можете воспользоваться условным форматированием, и, возможно, Вам VBA никчему.



    0



    0 / 0 / 0

    Регистрация: 09.01.2013

    Сообщений: 13

    10.01.2013, 08:54

     [ТС]

    9

    Цитата
    Сообщение от Igor_Tr
    Посмотреть сообщение

    Чем Вы будете руководствоваться при выделении вручную? Наличием текста?, символов?, цифр?, комбинациями? Вот это и научите железяку.

    Мне придется выделять исключительно вручную. Надо выделять похожие по смыслу, но разные по написанию слова: велик, байк и велосипед. Как-то автоматизировать это невозможно.

    Поэтому я по-прежнему хочу выделять нажатием клавиши (комбинацией клавиш). Наверное для этого нужен макрос. Прошу помочь.



    0



    Скрипт

    5468 / 1148 / 50

    Регистрация: 15.09.2012

    Сообщений: 3,514

    10.01.2013, 09:15

    10

    Код, который делают заливку у выделенных ячеек:

    Кликните здесь для просмотра всего текста

    Visual Basic
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    Sub Макрос1()
        
        'Selection - это выделенные ячейки.
        
        'Вместо "Color" можно использовать "ColorIndex".
        '"ColorIndex" - это порядковый номер
        'цвета в палитре цветов программы Excel (палитра - это набор цветов).
        'Чтобы посмотреть порядковые номера цветов для "ColorIndex"
        'в поле для поиска (в правом верхнем углу VBA)
        'введите это "ColorIndex Property" и нажмите клавишу "Enter".
        'Выберите "ColorIndex Property".
        
        'Чтобы узнать, какое число записать в коде VBA для "Color",
        'сделайте следующее:
            '1) перейдите в программу Excel;
            '2) сделайте у ячейки нужную заливку;
            '3) сделайте эту ячейку активной;
            '4) перейдите в VBA;
            '5) View - Immediate Window. Внизу появится область.
                'В эту область вставьте этот код и нажмите клавишу "Enter":
                'Print ActiveCell.Interior.Color
            '6) будет получено число, которое нужно подставить в код.
        
        Selection.Interior.Color = 255
        
    End Sub



    0



    Igor_Tr

    4377 / 661 / 36

    Регистрация: 17.01.2010

    Сообщений: 2,134

    10.01.2013, 14:43

    11

    Мне кажется, что можно. Велик, байк и велосипед — а что у них общего? Все это средства передвижения, которые можно обьеденить в группу, например RemedForMovement. Создайте массив — и вперед. Главное — экспериментируйте, иначе Вам и святой Франциск не поможет. Но если Вам нравится в ручную — тоже не плохо. Ручная работа ценится во всем мире.

    Добавлено через 2 часа 12 минут
    Передышка голове (моей).
    Создаем кнопку на активном листе:

    Visual Basic
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    
    Sub CreateCommShp()
    'Создание кнопки запуска заливки
     
    Dim mShp As Shape
    ' проверка наличия кнопки запуска
    For Each mShp In ActiveSheet.Shapes
        If mShp.Name = "Начало" Then
            mShp.Select
            Selection.Characters.Text = "Залить! Немедленно!" ' _
                                                    изменяем текст кнопки
            [a1].Select ' убрали выделение кнопки
            Exit Sub
        End If
    Next
    ' если кнопки не существует - создать!
        With ActiveSheet.Shapes.AddShape(msoShapeRoundedRectangle, _
                                                            300#, 30.75, 100, 28.5)
            .Fill.ForeColor.SchemeColor = 42
            .ScaleWidth 1.26, msoFalse, msoScaleFromTopLeft
            .ScaleHeight 0.64, msoFalse, msoScaleFromTopLeft
            .Name = "Начало"
            .OnAction = "PourColor" ' пристегнули к "кнопке" макрос
        End With
     
        ActiveSheet.Shapes("Начало").Select
            With Selection
                .Characters.Text = "Залить!" ' Текст в "кнопку"
                .HorizontalAlignment = xlCenter
                .VerticalAlignment = xlCenter
            End With
         Application.CutCopyMode = False
        [a1].Select
        
    End Sub

    Из этого макроса запускаем заливку (а стоило это трудов? Не проще было выделить и выбрать цвет на панели?)
    Но раз Вам так этого хотелось — пожалуйста!

    Visual Basic
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    Sub PourColor()
        Dim mRng As Range
        'Выделите мышью любое кол-во ячеек, удерживая <Сtrl>
     
        Set mRng = Selection
        Call CreateCommShp
            With mRng
                .Interior.ColorIndex = 36
            End With
        ActiveSheet.Shapes("Начало").Select
        Selection.Characters.Text = "Ужас! Получилось!" ' _
                        изменили текст кнопки.
        [a1].Select
     
    End Sub

    К кнопке еще можно добавить розочки, бантики… и все это группировать. По вкусу



    1



    0 / 0 / 0

    Регистрация: 05.11.2015

    Сообщений: 11

    17.07.2013, 16:18

    12

    Ребят подскажите пожалуйста, а как написать перенос каждой второй строки столбца А в столбец Б??чтобы можно было сделать это действие по 100 позициям



    0



    Igor_Tr

    4377 / 661 / 36

    Регистрация: 17.01.2010

    Сообщений: 2,134

    17.07.2013, 16:36

    13

    Как-будто кол-во позиций не имеет очень значение. Больше значит, в каком виде они должны быть в столбце В. С пропусками, или все нужные подряд?

    Добавлено через 12 минут
    Если для примера, вот так получится с пробелами:

    Visual Basic
    1
    2
    3
    4
    5
    6
    7
    8
    
    Sub adf()
    Dim marr(), i&
       marr = Range([a1], Cells(Rows.Count, "a").End(xlUp)).Value
          For i = LBound(marr, 1) To UBound(marr, 1) Step 2
             marr(i, 1) = vbNullString
          Next 'i
       [b1].Resize(UBound(marr, 1), 1).Value = marr
    End Sub



    3



    Перенос текста в ячейке

    ​Смотрите также​ = False [A2]​ остается так же​ решение (см. вложение)​попробую еще раз​ побуждающей надписи.​ листе фигура с​ вы делали выше.​

    В этой статье

    ​Я обычно добавляю​

    ​ по другому пути,​

    Автоматический перенос текста

    1. ​прошелся по ветке​ String) Dim Delimeter​

    2. ​ лишние пробелы не​​ быстрый.​​ другими символами. Все​​ своему коду, но,​​ ситуация – когда​​Microsoft Excel обеспечивает перенос​ Изображение кнопки​ = Mid(Target, 73):​

      Изображение ленты Excel

      ​ в 1у строчку​​nerv​

      • ​подробная инструкция для​5. Перейти в​ побуждающей надписью. Файл-приёмник​Next i​ данные так (сразу​ объединил строки нарисовал​

      • ​ www.excelworld.ru/forum/2-890-1 ничего для​ As String, i​ появятся.​Минусы:​ предложенные решения работают​ поверьте, затраченные усилия​

    Настройка высоты строки для отображения всего текста

    1. ​ кто-то другой станет​ текста в ячейке​ [A1] = Left(Target,​

    2. ​китин​​: Предлагаю установить ограничение​​ Excel 2003​​ файл Bericht.xlsx посмотреть​​ данных должен быть​​RAN​​ не заметил что​

      Изображение ленты Excel

    3. ​ линии и вставил​​ себя не взял,​​ As Long Delimeter​=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;СИМВОЛ(13);»»);СИМВОЛ(10);», «)​

      • ​Никаких дополнительных плюшек​ в Excel 2013,​​ оправдают себя с​​ продолжать Вашу работу​

      • ​ для его отображения​ 73) Application.EnableEvents =​​: ну если надо​​ на кол-во символов​задаваемый текст пишется​​ на листы.​​ открыть в том​

        ​: Мууученики!​​ у Вас Рендж):​ label (подстрочный текст​ все не то​ = «, «​=TRIM(SUBSTITUTE(SUBSTITUTE(B2,CHAR(13),»»),CHAR(10),», «)​

    Ввод разрыва строки

    ​Вот так можно удалить​ 2010, 2007 и​ избытком! Несколько минут,​

    1. ​ над кодом и​ на нескольких строках.​ True End Sub​

      ​ принудительно перенести часть​​ в ячейке равное​ в ячейке В3​Как результат, устраивает​

    2. ​ же сеансе Excel.​200?’200px’:»+(this.scrollHeight+5)+’px’);»>With Worksheets(«Специалисты»)​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Private Sub UserForm_Initialize()​ под эти линии)​на моём примере,​

    support.office.com

    Оформление кода VBA

    ​ ‘символы-разделители (можно заменить​А вот так можно​ переносы строк при​ 2003.​ потраченных на написание​ не сможет понять,​ Ячейку можно настроить​Alexandrovich​ текста в той​ ~ 1024. Это,​

    ​Дублирующий текст может​ по расположению данных?​Макрос привязан к​ComboBox1.List = .Range(.Cells(1,»A»),​For i =​вставляемый текст из​ и по моему​ на пробел или​ удалить все непечатаемые​ помощи инструмента «​Переносы строк могут появиться​ понятного комментария, могут​ как он работает.​ для автоматического переноса​: Благодарен за быстрый​ же ячейке во​ а также подбор​ быть на любом​ Те ли данные​ именам книг, именам​ .Cells(.Rows.Count, «A»).End(xlUp)).Value​ 1 To Worksheets(«Специалисты»).Cells(Rows.Count,​

    ​ ячеек распределяется в​ шаблону как корректно​ ; и т.д.)​ символы из текста,​Найти и заменить​ в тексте по​

    Комментарии в VBA

    ​ сэкономить Вам долгие​Эта статья посвящена комментариям,​ текста или ввести​ ответ на мой​ вторую строку то​ высоты строк, содержащих​ Листе .​ попали на листы?​ листов.​ComboBox2.List = .Range(.Cells(1,​ «A»).End(xlUp).Row​

    ​ соответствии со свойствами​ переносить текст по​ ‘если диапазоны проверки​ включая переносы строк:​»:​ разным причинам. Обычно​ часы в будущем.​ отступам в коде​ разрыв строки вручную.​ HELP плавал в​ тогда Alt+Enter​ объединенные ячейки, обсуждалось​Для удобства располагаем​ в то ли​Текст макроса (если​ 2), .Cells(.Rows.Count, 2).End(xlUp)).Value​

    ​ComboBox1.AddItem Worksheets(«Специалисты»).Cells(i, «A»).Value​ «переносить по словам»​ строкам шаблона​​ и склеивания не​​=ПЕЧСИМВ(B2)​

    ​Выделите все ячейки, в​ возвраты каретки встречаются​Другой приём, делающий написанный​ и переносам строк​Автоматический перенос текста​ верном направлении.не могли​RAN​ здесь http://www.planetaexcel.ru/forum.p….orum=97​ его на этом​ место?​ интересно кому) -​End With​Next i​ в коде …​в первых двух​ равны друг другу​=CLEAN(B2)​ которых требуется удалить​ в рабочей книге,​ код более читаемым​ – элементам, которые​Ввод разрыва строки​ бы мне по​: Заменить формулу на​aleksasha888​ же Листе в​Leborham​ под спойлером.​Roman777​End Sub​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Worksheets(«РСИ»).Cells(15, 1) = «Средство​ строках применены формулы,​ — выходим с​Скопируйте формулу во все​ возвраты каретки или​ например, когда текст​ – правильно расставлять​ делают код аккуратным​Выделите на листе ячейки,​ слогам расписать второй​ значения. Тогда высота​: подскажите пожалуйста я​ ячейке F3​: Извините за неопытность​Скрытый текст Sub​:​Честно говоря, точно​ измерения » &​

    ​ с «ручной» настройкой​ ошибкой If SearchRange.Count​ ячейки столбца.​ заменить их другим​ скопирован с веб-страницы,​ отступы. В приведённом​ и понятным.​ которые требуется отформатировать.​ код,ибо действенный (в​ изменится автоматически.​ не как не​

    ​Ячейку В3 раздвигаем​ объяснения и языковой​ T_354() Dim objWh​RAN​ сам не знаю​ Lbl.Caption​ кол-ва символов (регулятор​ <> TextRange.Count Then​По желанию, можете заменить​ символом.​

    Отступы в коде VBA

    ​ когда они уже​ выше примере видно,​Самое важное для написания​На вкладке​ моей ситуации работает​Alexandrovich​ могу организовать перенос​ вправо и расширяем​​ барьер… я опычно​​ As Worksheet, objWb​, Вы правы…) Почему-то​ почему Ваш способ​вообщем все оказалось​ первой строки)​ MergeIf = CVErr(xlErrRef)​ исходный столбец новым,​Нажмите​

    Переносы строк в VBA

    ​ есть в рабочей​ что отступ сделан​ аккуратного и понятного​Главная​ более чем на​: Здравствуйте уважаемые программисты!​ текста из одной​ вниз​ создаю в экселе​ As Workbook, lngI​ сразу в глаза​ не работает, сам​ очень просто, и​в других строках​ Exit Function End​ с удалёнными переносами​Ctrl+H​

    ​ книге, полученной от​ для кода внутри​ кода – чаще​в группе​ ура),и мне бы​Нужно посредством VBA​

    ​ ячейки в другую.​​Топнули правой мышкой​​ без макросов.. но​

    ​ As Long, intI​ не бросилось)​ сталкивался… это связано​ без заморочек, правда​ текст может уходить​ If ‘проходим по​ строк:​, чтобы вызвать диалоговое​ клиента, или, когда​ главной процедуры​ оставлять комментарии. Комментарии​

    ​Выравнивание​ хотелось понять каждый​​ осуществить такую задачу:​​сам перенос по​ — формат ячеек​

    ​ попался проект, в​ As Integer, arrA,​combat​ именно, что Вы​ пришлось подбирать шрифт,​ за границы диапазона​ все ячейкам, проверяем​Выделите все ячейки в​ окно​ мы сами добавляем​Sub​ – это строки​

    ​выберите команду​​ шаг​​Есть книга Excel​ функциям:​ — выравнивание -​ котом без макроса​ arrB With Workbooks(«1.xlsm»).Worksheets(«Gesamte»)​, Советую всё-таки, вопросы,​ пытаетесь вставить данные​ необходимо было большое​ объединённых ячеек​ условие и собираем​ столбце​Найти и заменить​

    ​ их нажатием клавиш​и далее отступ​
    ​ в коде, которые​
    ​Перенести текст​

    ​Private Sub Worksheet_Change(ByVal​

    office-guru.ru

    Как удалить переносы строк (возвраты каретки) из ячеек в Excel 2013, 2010 и 2007

    ​ с несколькими листами​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(ДЛСТР(AS22)​ переносить по словам​ никуда..​ arrA = .[a1].CurrentRegion.Value​ не относящиеся к​ через Range, но​ межстрочное пространство, у​при перемещении по​ текст в переменную​C​(Find and Replace).​

    Удаляем переносы строк в Excel

    ​Alt+Enter​ увеличивается для каждого​ исполняют роль заметок​.​ Target As Range)​ и вот в​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(ДЛСТР(AS22) получился, но​ — ОК​Прошу помощи!​ End With ReDim​ самой теме создавать​ Range, который на​ вас его может​​ листбоксу, если сдвинуть​​ OutText For i​

    ​и нажатием​Поставьте курсор в поле​.​ вложенного блока кода.​ и помогают разобраться,​Примечания:​ ‘задаем событие If​ одном из них​ слово которое попало​Скопировали пустую ячейку​Поправлю основную запись..​

    ​ arrB(1 To UBound(arrA,​ в отдельной теме.​ другом, неактивном листе.​ не быть и​

    • ​ форму видно как​ = 1 To​Ctrl+C​Найти​
    • ​Какой бы ни была​ Такие увеличенные отступы​ какие действия выполняет​ ​ Target.Address <> «$A$1″​
    • ​ в ячейку вводится​ в промежутке с​ В3.​Leborham​

    ​ 1), 1 To​​ Ибо правила…​Roman777​ будет не корректно​ распределяется текст в​ SearchRange.Cells.Count If SearchRange.Cells(i)​скопируйте данные в​(Find what) и​ причина их появления,​ помогают понять, где​ та или иная​

    ​Данные в ячейке будут​ Then Exit Sub​ текст(А1),но необходимо что​ 16 по 21​Топнули правой мышкой​: Пытливый, все равно​ 4) For lngI​А по вопросу,​:​​ показывать, подобрал шрифт​​ первых двух строках​ Like Condition Then​ буфер обмена.​​ нажмите​​ сейчас перед нами​ каждый отдельный блок​ часть кода.​ переноситься в соответствии​ ‘если работаем в​ бы в эту​ символ не отображается​

    ​ на F3 -​​ большое Вам спасибо…​ = 2 To​ я бы на​​combat​​ Ebrima​​ и как он​​ OutText = OutText​Далее выделите ячейку​Ctrl+J​ стоит задача удалить​ кода начинается и​​Комментарии не участвуют в​​ с шириной столбца,​ не в ячейке​ ячейку вводилось 73​​ не в первой(Z22)​​ Специальная вставка -​Karataev​ UBound(arrA, 1) arrB(lngI​ Вашем месте поставил​, кстати, вчера потом​далее, следующая для​

    Удаляем возвраты каретки вручную

    ​ не умещается в​​ & TextRange.Cells(i) &​B2​

    ​. На первый взгляд​​ возвраты каретки, так​:(

    ​ заканчивается.​ процессе выполнения программы​ поэтому при ее​​ А1,то макрос не​​ символа (объединенная ячейка),​

    1. ​ не во второй​ Ширина столбцов -ОК​: Вариант с помощью​ — 1, 1)​ название отдела напротив​Удаляем переносы строк в Excel
    2. ​ ток сообразил, что​​ меня проблема, вроде​​ других​ Delimeter Next i​​, нажмите сочетание клавиш​​ поле покажется пустым,​
    3. ​ как они мешают​​Ещё один способ сделать​​ и не влияют​ изменении перенос текста​​ выполняетсяА вот дальнейшие​​ а все последующие​ ячейке(A23).​еще раз правой​ Power Query.​ = arrA(lngI, 1):​ каждого работника… А​
    4. ​ Ваш вариант тоже​​ должно все работать,​​как решить эту​ ‘выводим результаты без​Shift+F10​ но если посмотрите​ выполнять поиск фраз​ код более читаемым​ на результат работы​ будет настраиваться автоматически.​ шаги,если не трудно,разжуйте​ символы введенные в​​Заранее спасибо.​​ мышкой -специальная вставка​Удаляем переносы строк в Excel
    5. ​ИнструкцияПрежде чем тестировать,​​ arrB(lngI — 1,​​ потом уже по​ скорее всего рабочий,​Удаляем переносы строк в Excel

    Удаляем переносы строк при помощи формул Excel

    ​ но не срабатывает​​ задачу без формул,​ последнего разделителя MergeIf​и выберите​ внимательно, то увидите​ и приводят к​ и облегчить работу​ макроса. Каждая строка,​Если текст с переносами​ пожалуйста.​ эту же ячейку​_Boroda_​

    ​ — форматы -ОК​ Вам нужно указать​ 2) = arrA(lngI,​ условию, при выборе​ просто Вы забыли​ код в форме​ а макросами​ = Left(OutText, Len(OutText)​Вставить​ в нём маленькую​​ беспорядку в столбце​​ с ним –​

    ​ начинающаяся апострофом (‘),​​ отображается не полностью,​If Len(Target) <​ после деактивации этой​

    1. ​: Дело в том,​В ячейке F3​ путь и имя​ 3) arrB(lngI -​​ начальника (или любого​​ сказать, с какого​
    2. ​ ComboBox1 иComboBox2​Roman777​ — Len(Delimeter)) End​(Insert).​ точку.​ при включении режима​ делать переносы и​
      • ​ будет считаться в​ возможно, задана точная​ 74 Then Exit​ ячейки переносились в​ что слово «работать»​ пишем формулу:​

        ​ файла 1. Для​
        ​ 1, 3) =​

      • ​ работника отдела), сверять​ листа берёте ячейки:​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>Private Sub UserForm_Initialize()​:​ Function​Удалите вспомогательный столбец.​В поле​ переноса текста.​ разбивать одну длинную​ VBA комментарием. Редактор​

        ​ высота строки или​
        ​ Sub Application.EnableEvents =​

      • ​ другую ячейку(А2).​ просто не уместилось​=B3​ этого сделайте так.​

        ​ arrA(lngI, 5): arrB(lngI​
        ​ его отдел с​

      Удаляем переносы строк в Excel

    3. ​200?’200px’:»+(this.scrollHeight+5)+’px’);»>ComboBox1.List = Worksheets(«Специалисты»).Range(«A1», Worksheets(«Специалисты»).Cells(Rows.Count,​ListBox1.ColumnCount = 2​
    4. ​combat​Сцепка происходит по​Плюсы:​Заменить на​
      • ​Все три представленных способа​ строку кода на​​ VBA в Excel​​ текст находится в​​ False [A2] =​​На просторах интеренета​ по длине. Сделайте​
      • ​В ячейку В3​​Вкладка «Данные» -​​ — 1, 4)​​ отделами всех остальных,​​ «A»).End(xlUp)).Value​​ ‘​​, добрый день!​
      • ​ принципу:​

    Удаляем переносы строк при помощи макроса VBA

    ​Создаём один раз​​(Replace With) введите​ довольно быстры. Выбирайте​ несколько коротких. В​ выделит такую строку​

    ​ объединенных ячейках.​​ Mid(Target, 73): [A1]​ нашел подобный код,но​

    ​ пошире столбец AI​ записываем проверочный текст​ Показать запросы -​ = arrA(lngI, 6)​ и только те,​

    ​combat​ListBox1.ColumnWidths = «0;»​Честно, не знаю​Текст 1, Текст​ – используем снова​ любое значение для​ тот, который Вам​ VBA, чтобы разбить​ зелёным цветом шрифта,​Выделите ячейки, для которых​ = Left(Target, 73)​ он не переносит​ (например) или поставьте​

    ​P.S.​ справа появятся два​ Next lngI With​ где отделы совпадают,​: Роман, я не​CommandButton2.Enabled = False​ как полностью граммотно​

    ​ 2​ и снова с​
    ​ вставки вместо возвратов​
    ​ больше подходит:​

    ​ строку, нужно вставить​

    office-guru.ru

    Перенос слов в ячейке Excel XP

    ​ чтобы с первого​​ требуется выровнять высоту​ Application.EnableEvents = True​ в другую ячейку,плюс​ формат ячейки -​в первоисточнике автор​ запроса.​

    ​ Workbooks(«Bericht.xlsx»).Worksheets(«Genehmigt») For lngI​​ добавлять в комбобокс)))​
    ​ сомневался, что Вы​’…………………………………….​
    ​ решить Вашу задачу.​Вопрос​ любой рабочей книгой.​ каретки. Обычно для​
    ​Удаляем все переносы строк​ символы » _»​ взгляда было понятно,​ строк.​ End Sub​ удаляет текст после​
    ​ Выравнивание — Автоподбор​ не раздвигал ячейку,​Щелкните правой кн.​ = 1 To​combat​ мне очередной раз​Set SRng =​ Но вы как​

    CyberForum.ru

    Как сделать перенос строки с использованием VBA?

    ​Как сделать чтобы​​Минусы:​ этого используют пробел,​ вручную, чтобы быстро​ (пробел+подчёркивание) непосредственно перед​ что это комментарий,​На вкладке​pashulka​ сообщения.​ ширины (галку Переносить​ а использовал объединенные​ мыши по первому​ UBound(arrB, 1) .Cells(lngI​: Где-то рядом, но​ поможете, и еще​ Sheets(«БазаСИ»).Range(«B1») ‘​ минимум могли бы​ разделитель был не​Требуется хотя бы​ чтобы избежать случайного​ навести порядок на​ переносом строки. Это​ который не будет​Главная​: Application.EnableEvents = False​Вот тот самый​ по словам нужно​ ячейки.​ запросу — Изменить​ + 1, 1)​ пока решение не​ раз вам большое​’…………………………………….​ использовать те же​ «, «, а​ базовое знание VBA.​ склеивания двух соседних​ одном листе.​
    ​ сообщает компилятору VBA,​ выполняться.​
    ​в группе​ ‘Временно блокируем выполнение​
    ​ пример:​
    ​ снять) — текст​Лично я считаю​ — запустится редактор​ = arrB(lngI, 1):​ нашел​
    ​ спасибо​Set SRng =​
    ​ формулы, что у​
    ​ перенос текста на​

    ​Макрос VBA из следующего​​ слов. Если нужно​Удаляем переносы строк при​ что текущая строка​Ниже продемонстрировано, как при​Ячейки​ событий приложения, чтобы​Private Sub Worksheets_Chabge(ByVal​ немноооожко уменьшится.​ что объединение -​ запросов.​ .Cells(lngI + 1,​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Dim i As Variant​работает только первый​ Range(SRng, SRng.End(xlDown))​ Вас есть, просто​ следующую строчку?​ примера удаляет возвраты​ просто удалить переносы​ помощи формул и​ кода продолжается на​ помощи комментариев поясняется​нажмите кнопку​ изменение значений ячеек​ Target As Range)​А вообще-то формула​ это зло​

    ​Вкладка «Главная» -​​ 3) = arrB(lngI,​For i =​ вариант, при втором​N = SRng.Rows.Count​ записав их в​

    ​Т.е., чтобы сцепка​​ каретки из всех​ строк, оставьте поле​ настраиваем таким образом​​ следующей строке.​​ работа простой процедуры​
    ​Формат​ A2 и A1​​ If Target =​​ изначально не правильная.​

    ​0mega​​ группа «Запрос» -​ 2): .Cells(lngI +​

    ​ 1 To Worksheets(«Специалисты»).Cells(Rows.Count,​​ дает ошибку на​Vs = SRng.Value​ коде ВБА, например:​ происходила по принципу:​ ячеек на активном​Заменить на​

    ​ комплексную обработку текстовых​​Следующий пример демонстрирует, как​
    ​Sub​

    planetaexcel.ru

    Корректный перенос текста по строкам (Формулы/Formulas)

    ​.​​ не приводило к​ [A1] Then If​ Попробуйте в AS22​
    ​: именно об этом​ Расширенный редактор.​ 1, 5) =​ «A»).End(xlUp).Row​
    ​ запуск формы 2​ReDim SArr(1 To​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(ДЛСТР(BC3)​Текст 1​ листе.​
    ​(Replace With) пустым.​ данных в ячейках.​ при помощи переносов​:​В группе​
    ​ генерации события Worksheet_Change​ Len(Target) > 73​ поставить «Желание жить​ я и предупреждал​
    ​В этой строке​ arrB(lngI, 3) Next​ComboBox1.AddItem Worksheets(«Специалисты»).Cells(i, «A»).Value​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Dim i As Variant​ N)​Значение, которое у​Текст 2​Sub RemoveCarriageReturns() Dim​
    ​Нажмите кнопку​Используем макрос VBA, чтобы​ строк можно сделать​

    ​’ процедура Sub​​Размер ячейки​​ Application.EnableEvents = True​​ Then Target =​
    ​ и работать» (без​На этом форуме​ укажите путь и​ lngI End With​Next i​For i =​ReDim Arrr(N -​ Вас в BC3​Sanja​ MyRange As Range​
    ​Заменить все​
    ​ очистить от переносов​ длинные строки кода​ для просмотра диапазона​выполните одно из​ 'Возвращаем всё на​ "" MsgBox "Извините,но​ кавычек).​ работают очень сильные​ имя файла:​ With Workbooks("Bericht.xlsx").Worksheets("Abgeschlossen") For​
    ​For i =​
    ​ 1 To Worksheets("Специалисты").Cells(Rows.Count,​
    ​ 1)​
    ​ запишите в одну​
    ​: Function MergeIf(TextRange As​ Application.ScreenUpdating = False​(Replace All) и​ строк несколько рабочих​ гораздо более понятными​
    ​ ячеек A1-A100 активного​ следующих действий:​ круги свояВсе остальные​ только 73 символа​

    ​Поменяйте на вот​​ макрописцы. Пусть они​Источник = Excel.Workbook(File.Contents("C:UsersUserDesktop1.xlsx"),​
    ​ lngI = 1​ 1 To Worksheets("Специалисты").Cells(Rows.Count,​ "A").End(xlUp).Row​For R =​ переменную, например Namess,​ Range, SearchRange As​ Application.Calculation = xlCalculationManual​ наслаждайтесь результатом!​
    ​ книг.​ и легко читаемыми.​ ' листа и​Чтобы автоматически выравнивать высоту​
    ​ строки, в принципе​ для этой ячейки"​ так:​
    ​ берут в руки​
    ​ true),​ To UBound(arrB, 1)​

    ​ "B").End(xlUp).Row​
    ​ComboBox1.AddItem Worksheets("Специалисты").Cells(i, "A").Value​
    ​ 1 To N​ а длину, которую​ Range, Condition As​
    ​ For Each MyRange​Плюсы:​Замечание:​Посмотрите на этот оператор​ поиска ячейки, содержащей​
    ​ строк, выберите команду​ не могут вызывать​ End If End​200?'200px':''+(this.scrollHeight+5)+'px');">=ЕСЛИ(ЕОШИБКА(ПОИСК(" ";AS22;20));AS22;ЛЕВСИМВ(AS22;ПОИСК(" ";AS22;20)))​ дирижерские палочки.​

    ​Затем щелкните «Готово».​​ .Cells(lngI + 1,​ComboBox2.AddItem Worksheets(«Специалисты»).Cells(i, «B»).Value​Next i​Sentence = Vs(R,​ вы пишите в​ String) Dim i​
    ​ In ActiveSheet.UsedRange If​Доступно использование последовательных​Первоначально термины «Возврат​If​ переданную процедуре строку​
    ​Автоподбор высоты строки​ вопросов, даже без​ If End SubПонимаю,что​
    ​Code200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(ЕОШИБКА(ПОИСК(» «;AS22;20));»»;ПСТР(AS22;ПОИСК(» «;AS22;20);75))​Serge_007​Вкладка «Главная» -​ 1) = arrB(lngI,​Next i​For i =​ 1)​ ячейке BB15 можно​ As Long ‘если​ 0 < InStr(MyRange,​ или вложенных формул​
    ​ каретки» и «Перевод​:​ Sub Find_String(sFindText As​.​ волшебной клавиши F1​ от этого код​
    ​aleksasha888​
    ​: Штатными средствами это​ щелкните по верхней​
    ​ 1): .Cells(lngI +​
    ​думаю связать так:​
    ​ 1 To Worksheets(«Специалисты»).Cells(Rows.Count,​
    ​SArr(R) = «​ записать в другую​
    ​ диапазоны проверки и​
    ​ Chr(10)) Then MyRange​ для сложной проверки​
    ​ строки» использовались при​
    ​If (index =​
    ​ String) Dim i​Чтобы задать высоту строк,​
    ​Alexandrovich​ нужно отталкиваться,но поиски​
    ​: вроде заработало, но​ не сделать.​
    ​ кнопке «Закрыть и​ 1, 3) =​
    ​ при выборе из​ «B»).End(xlUp).Row​ » & Replace(Sentence,​
    ​ переменную или явно​
    ​ склеивания не равны​ = Replace(MyRange, Chr(10),​
    ​ текста в обрабатываемой​ работе на печатных​
    ​ 1 And sColor1​
    ​ As Integer ‘​ выберите команду​: Интересно,а вот такой​ результата не дают.​ потом опять слова​
    ​RAN​ загрузить». Редактор закроется.​
    ​ arrB(lngI, 2): .Cells(lngI​ ComboBox1 первой строки,​
    ​ComboBox2.AddItem Worksheets(«Специалисты»).Cells(i, «B»).Value​
    ​ «»»», «»)​ указывать в коде:​ друг другу -​

    ​ «») End If​​ ячейке. Например, можно​ машинках и обозначали​ = «красный») Or​ переменная типа Integer​Высота строки​ момент…если нужно раскидать​пробовал так:​ в ячейке (Z22)​: Сделать, чтобы текст​
    ​Проверьте, работает ли​ + 1, 5)​ назначить второй столбец​Next i​ListBox1.AddItem R​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>if len(Namess) Name=Namess​ выходим с ошибкой​
    ​ Next Application.ScreenUpdating =​ удалить возвраты каретки,​
    ​ две различных операции.​ (index = 2​ для цикла ‘For’​и введите нужное​ текст не в​Private Sub Worksheets_Chabge(ByVal​ поехали.​

    ​ переносился автоматически при​​ запрос. Для этого​​ = arrB(lngI, 4)​​ ComboBox2, при выборе​
    ​т.к. у меня​ListBox1.List(R — 1,​else​
    ​ If SearchRange.Count <>​ True Application.Calculation =​ а затем найти​ Любознательный читатель может​
    ​ And sColor1 =​
    ​ Dim iRowNumber As​ значение в поле​ двух строках,а в​
    ​ Target As Range)​
    ​nerv​
    ​ достижении конца строки​

    ​ справа, где имена​ Next lngI End​ ComboBox1 второй строки,​ выбор из двух​ 1) = Sentence​Name=Left(Namess,Find(» «, Namess,45)-1))​ TextRange.Count Then MergeIf​ xlCalculationAutomatic End Sub​ лишние начальные или​ самостоятельно найти подробную​

    ​ «синий») Or (index​​ Integer ‘ переменная​​Высота строки​​ пяти или более?т.е.вводится​ If Target =​: Как вариант макрос,​ в Экселе очень​ запросов, щелкните значок​ With End Sub​ назначить третий столбец​
    ​ списков, код сделал​Arrr(R - 1)​

    ​end if​​ = CVErr(xlErrRef) Exit​Если Вы не слишком​ конечные пробелы, или​ информацию об этом​ = 3 And​ типа Integer для​
    ​.​ текст в одну​ [А1] Then If​ который рассчитывает кол-во​
    ​ сложно. Можно сделать​
    ​ "Обновить".​Leborham​ ComboBox2 и так​
    ​ вот так...​
    ​ = R​
    ​Гдe Name -​ Function End If​ близко знакомы с​
    ​ лишние пробелы между​
    ​ в интернете.​

    ​ sColor1 = «зеленый»)​ хранения результата iRowNumber​Совет:​ строку (объединенную ячейку),ниже​

    ​ Len(Target) > 73​​ символов, которое может​​ разбивку текста из​​Если получилось, то​: Спасибо…​ далее и как​Roman777​Next​ переменная, получаемое значение​ For i =​ VBA, рекомендую изучить​ словами.​Компьютеры и программное обеспечение​ Or (index =​ = 0 ‘​
    ​ Кроме того, можно перетащить​​ точно такие же​ Then Target =​ поместиться в ячейке​ ячейки на несколько​ сделайте то же​Но источник 1​ сделать не пойму…​:​Lbl_SI.Caption = «Всего​ которой Вы будете​ 1 To SearchRange.Cells.Count​ статью о том,​В некоторых случаях переносы​ для работы с​
    ​ 4 And sColor1​ последовательно посматриваем ячейки​
    ​ нижнюю границу строки​ ячейки, и в​
    ​ InStr(1, [А1].Value, «73»,​ (объединенной) исходя из​
    ​ строк по завершению​ самое для второго​
    ​ файл..​
    ​RAN​combat​ СИ в базе​ записывать в ячейку​ If SearchRange.Cells(i) Like​ как вставить и​ строк необходимо удалять,​ текстами разрабатывались с​ = «коричневый») Then​
    ​ A1-A100, пока не​

    ​ в соответствии с​​ результате деактивации ячейки​:D
    ​ vbTextCompare) + 2​
    ​ размера, типа шрифта​ ввода. Макрос можно​
    ​ запроса "Abgeschlossen".​Bericht должен получать​
    ​: Правильно! Зачем искать​

    ​, я думаю что​​ » & «​​ M15​​ Condition Then If​ выполнить код VBA​ чтобы в дальнейшем​
    ​ учётом особенностей печатных​​При помощи переносов строк​ будет найдено значение​ высотой текста в​ текст раскидывается по​ [А2].Value = Range([А1].Value,​
    ​ и т.п.​ прицепить на кнопку​Теперь, чтобы извлекать​ данные из файла​ там, где потерял,​ второй мб опять​ » & N​Для ячейки A17​ MergeIf <> Empty​ в Excel.​ использовать текст в​ машинок. Вот почему​ тот же оператор​ ‘sFindText’ For i​

    ​ строке.​​ этим строкам по​ Len([А1].Value) — Target​Еще вариант: начинать​
    ​ (как здесь) или​
    ​ данные из файла​ 1 и увидев​ когда там, где​
    ​ где-то неправильно был​
    ​ & " ед."​
    ​ можно по аналогии​ Then MergeIf =​Урок подготовлен для Вас​
    ​ качестве аргументов функций,​
    ​ теперь для обозначения​

    ​If​ = 1 To​Новую строку текста можно​ заполненности,а не по​ + 1) MsgBox​ с новой строки​ на событие Worksheet_Change.​ 1, Вам надо​ (к примеру Genehmigt,​ светло удобнее.​

    ​ применён… сразу замечу,​​’ComboBox1.List = Worksheets(«Специалисты»).Range(«A1»,​ формулу записать в​ MergeIf & TextRange.Cells(i)​ командой сайта office-guru.ru​

    excelworld.ru

    VBA: перенос данных в другую таблицу по определенным словам

    ​ не внося изменения​​ разрыва строки используют​
    ​может быть записан​ 100 If Cells(i,​
    ​ начать в любом​ количеству символов. Возьмем​ «Часть текста перенесено​ и заполнять все​ Можно добавить удаление​ только обновлять.​
    ​ переносил данные в​
    ​Leborham​ что если у​ Cells(Rows.Count, «A»).End(xlUp)).Value​ коде ВБА.​ & vbCrLf Else​
    ​Источник: https://www.ablebits.com/office-addins-blog/2013/12/03/remove-carriage-returns-excel/​ в исходные ячейки.​ два различных непечатаемых​ вот так:​ 1).Value = sFindText​ месте ячейки.​
    ​ к примеру 5​ в строку ниже»​ в одной объединенной​ исходной ячейки. Подкраска​
    ​Обновлять можно еще​ файл Bericht во​

    ​: Добрый день!​​ Вас данные в​’ComboBox2.List = Worksheets(«Специалисты»).Range(«B1»,​Cheshir0067​
    ​ MergeIf = TextRange.Cells(i)​Перевел: Антон Андронов​ Результат можно использовать,​ символа:​

    ​If (index =​​ Then ‘ найдено​Дважды щелкните ячейку, в​ строк.Пользователь вводит текст​ End If End​ ячейке.​ разделенного текста сделана​ отсюда: вкладка «Данные»​ вкладку Genehmigt (1​
    ​Прошу помощи.. очень​ одинаковых строках в​ Cells(Rows.Count, «B»).End(xlUp)).Value​
    ​: Имхо всё не​ & vbCrLf End​Автор: Антон Андронов​
    ​ например, как аргумент​Возврат каретки​ 1 And sColor1​ совпадение с переданной​ которую требуется ввести​ в первую строку​ If End SubНо​Tamy​ для удобства при​ — Обновить все.​ (колонки 1, 3,​ срочно!​ столбце «А» и​End Sub​ так страшно:​ If End If​pestov​ функции​(Carriage return, CR​ = «красный») Or​ строкой ‘ сохраняем​ разрыв строки.​ текст,так сказать не​ код не работает.Помогите,пожалуйста​: Здравствуйте! У меня​ разбивке готового документа.​Ambioz​ 5), если Genehmigt​Есть 2 Таблицы.​ «B», можно было​тот код который​Самое главное определиться​ Next i End​: Господа, каким образом​ПРОСМОТР​ или ASCII код​ _ (index =​ номер текущей строки​Совет:​ глядя на экран,а​ советом.​ вопрос, который, наверное,​ Разделяет текст выделенной​: Здравствуйте, помогите, пожалуйста,​ в Bericht/Genehmigt попали​ В первой (1)​ бы обойтись и​

    ​ отключен, в самом​​ с размером и​
    ​ Function​ можно задать программно​
    ​(LOOKUP).​ 13) и​ 2 And sColor1​ и выходим из​ Можно также выделить ячейку,​ тыча чуть ли​pashulka​ вас рассмешит. Как​ ячейки. По умолчанию​ решить проблему:​ данные в колонки​ все данные, во​
    ​ одним циклом. И​ конце​ шрифтом чтобы влазил​
    ​Kuzmich​ из модуля перенос​Минусы:​
    ​Перевод строки​

    ​ = «синий») Or​​ цикла iRowNumber =​

    ​ а затем нажать​​ не носом в​:​ настроить, чтобы слова​ установлена длинна строки​Как сделать, что​ Datum, 3,5 )​ второй (Bericht) 2​ вообще​combat​
    ​ в ячейку и​: В ячейке включить​ слов в определенной​Потребуется создать вспомогательный​​(Line feed, LF​
    ​ _ (index =​ i Exit For​​ клавишу F2.​​ клавиатуру.По прошествии ввода​
    ​Строго​ в ячейке переносились,​ 116 символов. Можно​ бы текст, достигнув​+ данные на​
    ​ листа (Genehmigt u​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Worksheets(«Специалисты»).Cells(Rows.Count, «A»).End(xlUp).Row​: Как заставить работать​
    ​ задать конечное колличество​ перенос по словам​ ячейке или диапазоне​ столбец и выполнить​ или ASCII код​ 3 And sColor1​

    ​ End If Next​​Дважды щелкните в ячейке​ текста переводит курсор​в​ а не «залазивали»​ задать другую длинну.​ конца ячейки автоматически​ сервере.. нужен путь​ Abgeschlossen).​
    ​- просто определяет​
    ​ ComboBox на форме,​

    ​ символов (ограничение) для​​ Dim OutText As​ ячеек… HELP!!!​

    ​ множество дополнительных шагов.​​ 10). В Windows​ = «зеленый») Or​
    ​ i ‘ сообщение​ то место, куда​ или же активирует​модуль листа​ на другую ячейку​
    ​_Boroda_​ переносился на другую​ к файлу​Надо чтобы из:​
    ​ последнюю из заполненных​ беря данные с​ показа в первой​ String Delimeter =​EsKor​
    ​Добавьте вспомогательный столбец в​ используются оба символа​ _ (index =​
    ​ во всплывающем окне​ нужно вставить разрыв​ другую ячейку, текст​
    ​, где нужно перенести​Serge_007​
    ​: Тот же файл,​
    ​ строку?​И если есть​1 (колонки 1,​ строк для столбца​
    ​ листа в книге,​ ячейке.​ Chr(10)​: Очень просто:​ конце данных. В​
    ​ вместе, а в​ 4 And sColor1​ сообщает пользователю, ‘​ строки, и нажмите​
    ​ введенный в первую​ лишний текст :​: См. вложение​ что у уважаемого​
    ​Serge_007​ возможность без открытия​ 3, 5), если​

    planetaexcel.ru

    Автоматический перенос текста на другую строку

    ​ «А» и думаю,​​ а форма привязана​Пример берёт колличество​
    ​excel_pl​Selection.WrapText = True​ нашем примере он​ системах *NIX применяется​ = «коричневый») Then​

    ​ найдена ли строка,​​ сочетание клавиш ALT+ВВОД.​
    ​ строку раскидывается по​Private Sub Worksheet_Change(ByVal​Tamy​ RANа, только все​: Здравствуйте.​
    ​ файла 1​ Genehmigt отправить данные​

    ​ что лучше всего​​ к др. листу,​​ символов из ячейки​​: А каких-нибудь спец.​

    ​ ‘для текущей ячейки​​ будет называться​ только перевод строки.​

    ​Если рассмотренный оператор​​ и если найдена​​Начиная практиковаться в написании​​ пяти последующим строкам​ Target As Range)​: спасибо за помощь!!!​ это без макросов,​Использовать Word. Excel​

    ​Заранее спасибо!​​ в «Bericht/Genehmigt» в​ не пересчитывать его​ у меня по​
    ​ BB15 и разбрасывает​
    ​ символов вместо запятой​Cells(1, 3).WrapText =​
    ​1 line​Будьте внимательны:​
    ​If​ – сообщает номер​ кода VBA, очень​
    ​ по заполненности.А если​ If Target.Address =​Maksim156​ формулами. К сожалению,​
    ​ — это не​Leborham​ колонки Datum, 3,5​
    ​ на каждом шаге​ чему то не​ по строкам.​ для строчки «​ True ‘для ячейки​
    ​.​В Excel встречаются​
    ​разбит на четыре​ строки If iRowNumber​ важно с самого​ каким-то чудом пользователь​
    ​ «$A$1» Then Application.EnableEvents​: А если слова​ при изменении ширины​
    ​ текстовый редактор и​: выдает ошибку 9​
    ​1 (колонки 1,​
    ​ цикла, а запихнуть​ работает​
    ​В Вашем примере​
    ​Delimeter = «, «​ в 1-й строке​В первой ячейке вспомогательного​ оба варианта. При​
    ​ строки, то составляющие​ = 0 Then​ начала выработать хорошие​

    ​ оторвал нос от​​ = False Dim​ переносятся, но ячейка​

    ​ столбца обновляется не​ его возможности в​Пытливый​ 3, 6) ,​ в переменную (предварительно​

    ​пребывал по всякому,​​ надо заменить в​» нету?​

    ​ и 3-ем столбце​​ столбца (C2) введите​ импорте из файлов​ его блоки c​ MsgBox «Строка «​ привычки в оформлении​ клавиатуры и глянул​ t$, i&: t$​ не раздвигается и​ автоматически, а через​ этом направлении минимальны.​: 1. Ответ рисуем​ если Abgeschlossen отправить​ посчитав 1 раз)​ работает только если​ Private Sub ListBox1_Change():​например, что-нибудь в​Вообще такие вещи​ формулу для удаления/замены​.txt​ условиями видны гораздо​ & sFindText &​ кода, чтобы в​

    ​ на монитор (увидел​​ = Target.Value For​ видно только начало​ F9​ЗЫ Вероятно макросами​ под файл-пример (файлы-примеры).​ данные в Bericht/Abgeschlossen​ и потом уже​ активен лист с​200?’200px’:»+(this.scrollHeight+5)+’px’);»>​

    ​ духе :​​ легко получаются с​

    ​ переносов строк. Ниже​​или​ более наглядно. Этот​ » не найдена»​

    ​ дальнейшем написанный код​​ много слов и​ i = 1​

    ​ текста​​0mega​ можно…​
    ​ Серверы там, открытый/закрытый​ в колонки Datum,​ использовать из памяти,​
    ​ которого берутся данные,​Worksheets(«РСИ»).Cells(3, 55) =​rn​

    ​ помощью макрорекордера: запустите,​​ приведены несколько полезных​.csv​

    ​ пример иллюстрирует, как​​ Else MsgBox «Строка​ было легко читать​ букв за пределами​ To Len(t) Step​_Boroda_​: маэстро !​0mega​ — в задании​

    ​ 3,5​​ так что сам​ все указано в​ Lbl.Caption​;​ выполните действия, остановите,​
    ​ формул для различных​данные обычно содержат​
    ​ аккуратное оформление может​
    ​ " & sFindText​ и понимать, как​ строки (ячейки)),деактивировал ячейку,текст​ 73 Target.Offset(i ​: Формат ячейки, вкладка​Serge_007​:​ нет - не​
    ​Данные всегда обновляются​

    ​ себя поправлю:​​ сообщении 4, там​На:​Sanja​ посмотрите содержимое макроса,​ случаев:​ возвраты каретки и​ сделать код более​ & " найдена​ он работает.​ раскидался,но необходимо продолжить​ 73) = Mid(t,​ "Выравнивание" поставьте галку​
    ​: Однако задачу ТС​Ambioz​ рисуем. Ну, раз​ в файле "1"​Код200?'200px':''+(this.scrollHeight+5)+'px');">Dim i as​ же и файл​
    ​Код200?'200px':''+(this.scrollHeight+5)+'px');">​: Kuzmich, же Вам​
    ​ если нужно отредактируйте.​
    ​Эта формула подходит для​

    ​ переводы строки. Когда​​ читаемым и привести​ в ячейке A»​В процессе написания кода,​ ввод текста.Пример текст​

    ​ i, 73) Next​​ «Переносить по словам».​ без макросов решить​, здравствуйте​ не сказали, значит,​ и находятся на​ long​200?’200px’:»+(this.scrollHeight+5)+’px’);»>ComboBox1.List = Worksheets(«Специалисты»).Range(«A1», Cells(Rows.Count,​
    ​numb = Worksheets(«РСИ»).Cells(15,​ показал​Вот для диапазона​ использования с комбинациями​ перенос строки вводится​

    excelworld.ru

    Перенос слов в ячейке

    ​ в результате к​​ & iRowNumber End​ программист может иметь​ заполнил первую строку​ Application.EnableEvents = True​Если это не​ всё-же нельзя.​row​

    ​ не надо было.​​ сервере закрытом.​

    ​Dim i_n as​​ «A»).End(xlUp)).Value​

    ​ 54)’ Считаем колличество​​Юрий М​ и попробуйте сами:​ возврат каретки /​ вручную нажатием​ меньшему количеству ошибок​

    ​ If End Sub​​ совершенно чёткое представление​ и то что​ End If End​
    ​ поможет, то показывайте​Ambioz​: 0mega как Вы​

    ​ Ничего личного.​​Заранее спасибо экспертам​ long​если активен лист​ символов к отображению​: excel_pl, Вы не​ запустите макрорекордер, выделите​ перенос строки, характерными​Alt+Enter​ и путаницы.​Не расстраивайтесь, если какую-то​ о том, что​ не влезло в​ Sub​

    ​ Ваш файл​​: Нашел решение без​ это сделали, подскажите​2. Файл 1.xlsm​ в VBA!​i_n = Worksheets(«Специалисты»).Cells(Rows.Count,​ «РСИ» не работает,​

    ​Worksheets(«РСИ»).Cells(15, 13).FormulaR1C1 =​​ отписались в своих​ диапазон, вызовите ‘формат​ для Windows и​

    excelworld.ru

    Перенос лишнего текста из одной ячейку в другую

    ​, Excel вставляет только​​Урок подготовлен для Вас​
    ​ часть кода, показанного​ за код он​
    ​ ячейку перенеслось во​Если же переносить​Maksim156​ макросов​Ambioz​ открыть. На вопрос​Leborham​ «A»).End(xlUp).Row​ если лист «Специалисты»​ Left(Lbl.Caption, numb)’ Записываем​ старых темах, а​ ячейки’, установите ‘перенос​ для UNIX.​ символ перевода строки.​ командой сайта office-guru.ru​
    ​ выше, не удалось​ пишет и как​ вторую,»входит» во вторую​ текст по 73​: ячейка расширяется когда​0mega​
    ​:​ о разрешении макросов​
    ​: перенос данных в​For i=1 to​ работает, в общем​ numb символов с​ уже создали новую.​ по словам’, остановите​=ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;СИМВОЛ(13);»»);СИМВОЛ(10);»»)​ Если же файл​Источник: http://www.excelfunctions.net/VBA-Code-Presentation.html​ понять – далее​ этот код должен​ строку и продолжает​ символа не нужно,​ там просто пишу​
    ​: просто как 5​
    ​0mega​ -​ другую таблицу по​ i_n​ надо, что бы​ лева в первую​ Или ответы не​ макрорекордер, посмотрите его​=SUBSTITUTE(SUBSTITUTE(B2,CHAR(13),»»),CHAR(10),»»)​.csv​Перевел: Антон Андронов​ в учебнике мы​ работать. Но нужно​ ввод текста. Вот​ то ещё проще​ текст и потом​ копеек …​

    ​- маленько не​​разрешить.​​ определенным словам…​​ComboBox1.AddItem Worksheets(«Специалисты»).Cells(i, «A»).Value​​ работало при активном​​ ячейку​ интересуют?​
    ​ содержимое и т.д.​Следующая формула подходит для​получен от поклонника​Автор: Антон Андронов​ рассмотрим эту тему​ позаботиться и о​ как бы так.Помогите,знаниями,пожалуйста.​ :​ ставлю галочку «Переносить​я знаю только​ то. Текст надо​3. Файл Bericht.xlsx​чтобы данные из​ComboBox2.AddItem Worksheets(«Специалисты»).Cells(i, «B»).Value​ листе «РСИ»​
    ​Worksheets(«РСИ»).Cells(17, 1) =​excel_pl​excel_pl​ замены переноса строки​ Linux, Unix или​
    ​Эта инструкция познакомит Вас​ подробнее. Цель приведённого​ том, чтобы, вернувшись​pashulka​Private Sub Worksheet_Change(ByVal​ по словам», а​ одного Алексея. Но​ распределить не в​ открыть​ одной таблицы переносились​ ‘ если для​Roman777​

    ​ Right(Lbl.Caption, Len(Lbl.Caption) -​​: Вопрос решён.​: Код сцепляет столбец​ любым другим символом​ другой подобной системы,​ с тремя способами​ примера – продемонстрировать,​ к работе спустя​: Лучше бы Вы​ Target As Range)​ у меня в​ он макровед.​ одной ячейке, а​
    ​в том же сеансе​ в другую в​ столбцов «А» и​:​ numb)’ Забираем оставшиеся​Всем спасибо.​ по критериюСкрытый текст​ (например, «, »​ то готовьтесь к​ удалить возвраты каретки​ как при помощи​
    ​ полгода, не пришлось​ опубликовали файл-пример, где​ If Target.Address <>​ ячейке форума стоит​А вы не​ по строкам.​Excel​ разные листы​

    ​ «B» данные лежат​​combat​ символы во вторую​combat​ Option Compare Text​ – запятая +​ встрече только с​ из ячеек в​ комментариев поясняется каждый​ ломать голову, пытаясь​ будет видно, что​ «$A$1» Then Exit​ и когда все​ знаете nick автора​0mega​

    ​4. В файле​​Пытливый​ в одних и​, Добрый день!​ ячейку​: Всем доброго времени​ Function MergeIf(TextRange As​ пробел). В таком​ символом перевода строки.​ Excel. Вы также​ блок кода.​ понять, что должен​ было до ввода,​ Sub If Len(Target)​ слова не входят​ ?​: вроде бы в​ 1.xlsm на листе​: Попробуйте. Макросы должны​ тех же строках,​Я не знаю​combat​ суток, помогите решить​ Range, SearchRange As​ случае строки не​Плюсы:​ узнаете, как заменить​Часто программисты ленятся добавлять​ делать этот код.​ и что стало​ < 74 Then​ то они переносятся​Serge_007​ файле я уже​ — фигура с​ быть разрешены. В​ иначе надо делать​ что вы пытаетесь​: Я пошел совсем​ задачу​ Range, Condition As​ будут объединены и​Этот способ самый​ символы переноса строки​ подробные комментарии к​ Ещё более неприятная​ после.​

    ​ Exit Sub Application.EnableEvents​​ вниз, а ячейка​: Это тоже не​ все написал ?!​ побуждающей надписью. Проследовать​ файле 1 на​ второй цикл, как​

    CyberForum.ru

    ​ сделать когда пишите:​

    Like this post? Please share to your friends:
  • Vba excel перенос на новую строку
  • Vba excel перенос на другую строку
  • Vba excel перенос данных с одного листа на другой
  • Vba excel перенос данных с листа на лист в excel
  • Vba excel перенос в одной ячейке