Макросы объединения ячеек в EXEL.
Иногда бывает необходимо провести объединение ячеек в EXEL.
Стандартно и просто EXEL этого делать не умеет.
Нужно писать макросы.
Вот два из них.
1) Данный макрос объединяет данные из выделенных ячеек в одну.
Sub MergeToOneCell()
Const sDELIM As String = " " 'символ-разделитель
Dim rCell As Range
Dim sMergeStr As String
If TypeName(Selection) <> "Range" Then Exit Sub 'если выделены не ячейки - выходим
With Selection
For Each rCell In .Cells
sMergeStr = sMergeStr & sDELIM & rCell.Text 'собираем текст из ячеек
Next rCell
Application.DisplayAlerts = False 'отключаем стандартное предупреждение о потере текста
.Merge Across:=False 'объединяем ячейки
Application.DisplayAlerts = True
.Item(1).Value = Mid(sMergeStr, 1 + Len(sDELIM)) 'добавляем к объед.ячейке суммарный текст
End With
End Su
2) Данный макрос объединяет данные во всех строках (горизонтальное расположение) в одну ячейку. То есть, если выделить пять строк с данным,то мы получим 5 объединенных строк:
Sub Merge_Cells()
tStr = ""
cs = Selection.Item(1).Column
cf = Selection.Item(Selection.Count).Column
For Each Cell In Selection.Cells
tStr = tStr & " " & Cell
If cf = Cell.Column Then
Application.DisplayAlerts = False
Range(Cells(Cell.Row, cs), Cells(Cell.Row, cf)).MergeCells = True
Application.DisplayAlerts = True
Cells(Cell.Row, cs) = Mid(tStr, 2)
tStr = ""
End If
Next Cell
End Sub
Как пользоваться макросами в EXEL? А вот так:
Открываем редактор Visual Basic через меню Сервис - Макрос - Редактор Visual Basic (Tools - Macro - Visual Basic Editor) или сочетанием клавиш ALT+F11, вставим в нашу книгу новый программный модуль (меню Insert - Module) и скопируем туда текст такого простого макроса.
Теперь, если выделить несколько ячеек и запустить этот макрос с помощью сочетания клавиш ALT+F8 или в меню Сервис - Макрос - Макросы (Tools - Macro - Macros), то Excel объединит выделенные ячейки в одну, слив туда же и текст через пробелы.
Также стоит отметить, что каждому макросу можно назначить "быстрые клавиши".
А еще, если решили сохранить EXEL-евскую таблицу с макросами, не забудьте сохранить ее в формате, поддерживающем эти самые макросы.
На этом пока все. Спасибо.
Стандартно и просто EXEL этого делать не умеет.
Нужно писать макросы.
Вот два из них.
1) Данный макрос объединяет данные из выделенных ячеек в одну.
Sub MergeToOneCell()
Const sDELIM As String = " " 'символ-разделитель
Dim rCell As Range
Dim sMergeStr As String
If TypeName(Selection) <> "Range" Then Exit Sub 'если выделены не ячейки - выходим
With Selection
For Each rCell In .Cells
sMergeStr = sMergeStr & sDELIM & rCell.Text 'собираем текст из ячеек
Next rCell
Application.DisplayAlerts = False 'отключаем стандартное предупреждение о потере текста
.Merge Across:=False 'объединяем ячейки
Application.DisplayAlerts = True
.Item(1).Value = Mid(sMergeStr, 1 + Len(sDELIM)) 'добавляем к объед.ячейке суммарный текст
End With
End Su
2) Данный макрос объединяет данные во всех строках (горизонтальное расположение) в одну ячейку. То есть, если выделить пять строк с данным,то мы получим 5 объединенных строк:
Sub Merge_Cells()
tStr = ""
cs = Selection.Item(1).Column
cf = Selection.Item(Selection.Count).Column
For Each Cell In Selection.Cells
tStr = tStr & " " & Cell
If cf = Cell.Column Then
Application.DisplayAlerts = False
Range(Cells(Cell.Row, cs), Cells(Cell.Row, cf)).MergeCells = True
Application.DisplayAlerts = True
Cells(Cell.Row, cs) = Mid(tStr, 2)
tStr = ""
End If
Next Cell
End Sub
Как пользоваться макросами в EXEL? А вот так:
Открываем редактор Visual Basic через меню Сервис - Макрос - Редактор Visual Basic (Tools - Macro - Visual Basic Editor) или сочетанием клавиш ALT+F11, вставим в нашу книгу новый программный модуль (меню Insert - Module) и скопируем туда текст такого простого макроса.
Теперь, если выделить несколько ячеек и запустить этот макрос с помощью сочетания клавиш ALT+F8 или в меню Сервис - Макрос - Макросы (Tools - Macro - Macros), то Excel объединит выделенные ячейки в одну, слив туда же и текст через пробелы.
Также стоит отметить, что каждому макросу можно назначить "быстрые клавиши".
А еще, если решили сохранить EXEL-евскую таблицу с макросами, не забудьте сохранить ее в формате, поддерживающем эти самые макросы.
На этом пока все. Спасибо.
Я так счастлив сегодня, потому что Бог сделал это для меня после того, как я пережил трудные времена с другими кредиторами, и ничего не вышло, я хотел потерять свою веру и надежду, но я все еще должен стоять твердо и добиваться того, чего я ищу. Я счастлив сегодня, потому что Бог направил меня в лучшую кредитную компанию, и я ни о чем не пожалел после того, как связался с ними, и мое сердечное желание было исполнено, и мне дали указанную сумму, которую я просил (300000,00 долларов США), деньги были внесены в моя учетная запись после двух недель разговора с компанией, и они не беспокоили меня и не вызывали у меня головной боли при получении этого кредита от них, другие члены моей семьи и друзья, которых я им направил, все тоже получили свой кредит, я буду любить вас чтобы связаться с 247officedept@gmail.com / whatsapp 1-989-394-3740. . и получите ссуду быстро, и это безопасно и быстро, вы, потерявшая надежду, веру и все, что у вас есть, всего лишь во имя получения ссуды, и ничего не получится, держите пари, если вы попробуете этого человека по имени Бенджамин, вы никогда не будете пожалеете о чем-либо, и ваш запрос на кредит будет одобрен, и он будет выплачен прямо на ваш банковский счет, поэтому поторопитесь и свяжитесь с быстрым ответом по WhatsApp + 1-989-394-3740. попросите ссуду любого типа, и она вам будет предоставлена. Желаю тебе всего наилучшего
ОтветитьУдалить