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

Вход

Регистрация

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

 

= Мир MS Excel/Объединение ячеек с текстом по вертикали - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Объединение ячеек с текстом по вертикали (Форматирование/Formattings)
Объединение ячеек с текстом по вертикали
MGI Дата: Среда, 28.10.2020, 20:25 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Когда я хочу объединить ячейки с текстом по вертикали, то появляется вот такое предупреждение:
"В объединенной ячейке сохраняется только значение из левой верхней ячейки диапазона. Остальные значения будут потеряны."
Если я нажимаю на ОК, то все данные (текст) теряются, как и говорится в предупреждении. Как то исправить и почему это происходит?
К сообщению приложен файл: 4279033.png (77.2 Kb)
 
Ответить
СообщениеКогда я хочу объединить ячейки с текстом по вертикали, то появляется вот такое предупреждение:
"В объединенной ячейке сохраняется только значение из левой верхней ячейки диапазона. Остальные значения будут потеряны."
Если я нажимаю на ОК, то все данные (текст) теряются, как и говорится в предупреждении. Как то исправить и почему это происходит?

Автор - MGI
Дата добавления - 28.10.2020 в 20:25
Anis625 Дата: Среда, 28.10.2020, 21:12 | Сообщение № 2
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
MGI,
Для объединения без потерь данных Вам надстройки Excel в помощь будут.

Или если у Вас офис 2016+ то можете формулой в соседнем столбце:
Код
=ОБЪЕДИНИТЬ(", ";ИСТИНА;A1:A3)


Сообщение отредактировал Anis625 - Среда, 28.10.2020, 21:15
 
Ответить
СообщениеMGI,
Для объединения без потерь данных Вам надстройки Excel в помощь будут.

Или если у Вас офис 2016+ то можете формулой в соседнем столбце:
Код
=ОБЪЕДИНИТЬ(", ";ИСТИНА;A1:A3)

Автор - Anis625
Дата добавления - 28.10.2020 в 21:12
Anis625 Дата: Среда, 28.10.2020, 21:21 | Сообщение № 3
Группа: Заблокированные
Ранг: Ветеран
Сообщений: 674
Репутация: 31 ±
Замечаний: 20% ±

Excel 2013
MGI,
Или с помощью VBA
К сообщению приложен файл: ____VBA.xlsb (15.3 Kb)
 
Ответить
СообщениеMGI,
Или с помощью VBA

Автор - Anis625
Дата добавления - 28.10.2020 в 21:21
Alex_ST Дата: Среда, 28.10.2020, 21:32 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеПосмотрите топик Макрос "MergePlus" (Объединить ячейки в Selection без потери данных)

Автор - Alex_ST
Дата добавления - 28.10.2020 в 21:32
Alex_ST Дата: Среда, 28.10.2020, 21:45 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3206
Репутация: 609 ±
Замечаний: 0% ±

2003
Ещё можно чуть подпилить одну из процедур так, чтобы объединённый текст в конце не закидывался в буфер обмена, а выполнялось объединение ячеек и в объединённую уже вписывался текст:[vba]
Код
Private Sub Glue_TXT()   ' СКЛЕИТЬ тексты из выделенных ячеек
   If TypeName(Selection) <> "Range" Then Exit Sub
   Dim rRng As Range: Set rRng = Intersect(Selection, ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible))
   If rRng Is Nothing Then Exit Sub
   If rRng.Cells.Count = 1 Then Exit Sub
   Dim Delimeter$, sLF$, sText$, rCell As Range
   If MsgBox("Переносить тексты из ячеек по строкам?", vbYesNo + vbQuestion + vbDefaultButton2, "Параметры объединения") = vbYes Then sLF = vbLf
   Delimeter = InputBox("Введите разделитель текстов ячеек:", "Параметры объединения", " ")
   For Each rCell In rRng
      If Len(rCell.Value) Then sText = sText & IIf(Len(sText), Delimeter & sLF, "") & rCell.Value
   Next rCell
   sText = Application.Trim(sText)
   With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}"): .SetText sText: .PutInClipBoard: End With
   MsgBox "Объединённый текст помещён в буфер обмена", , "Операция завершена успешно!"
End Sub

Private Sub Glue_TXT_with_Chr10()   ' СКЛЕИТЬ тексты из выделенных ячеек с переносами строк
   If TypeName(Selection) <> "Range" Then Exit Sub
   Dim rRng As Range: Set rRng = Intersect(Selection, ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible))
   If rRng Is Nothing Then Exit Sub
   If rRng.Cells.Count = 1 Then Exit Sub
   Dim sText$, rCell As Range
   For Each rCell In Intersect(Selection, ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible))
      If Len(rCell.Value) Then sText = sText & IIf(Len(sText), vbLf, "") & rCell.Value
   Next rCell
   sText = Application.Trim(sText)
   With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}"): .SetText sText: .PutInClipBoard: End With
   MsgBox "Объединённый текст помещён в буфер обмена", , "Операция завершена успешно!"
End Sub
[/vba]
P.S. Объединение ячеек без предупреждения выполняется в одну строку:[vba]
Код
   Application.DisplayAlerts = False: ActiveWindow.RangeSelection.Merge: Application.DisplayAlerts = True
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеЕщё можно чуть подпилить одну из процедур так, чтобы объединённый текст в конце не закидывался в буфер обмена, а выполнялось объединение ячеек и в объединённую уже вписывался текст:[vba]
Код
Private Sub Glue_TXT()   ' СКЛЕИТЬ тексты из выделенных ячеек
   If TypeName(Selection) <> "Range" Then Exit Sub
   Dim rRng As Range: Set rRng = Intersect(Selection, ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible))
   If rRng Is Nothing Then Exit Sub
   If rRng.Cells.Count = 1 Then Exit Sub
   Dim Delimeter$, sLF$, sText$, rCell As Range
   If MsgBox("Переносить тексты из ячеек по строкам?", vbYesNo + vbQuestion + vbDefaultButton2, "Параметры объединения") = vbYes Then sLF = vbLf
   Delimeter = InputBox("Введите разделитель текстов ячеек:", "Параметры объединения", " ")
   For Each rCell In rRng
      If Len(rCell.Value) Then sText = sText & IIf(Len(sText), Delimeter & sLF, "") & rCell.Value
   Next rCell
   sText = Application.Trim(sText)
   With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}"): .SetText sText: .PutInClipBoard: End With
   MsgBox "Объединённый текст помещён в буфер обмена", , "Операция завершена успешно!"
End Sub

Private Sub Glue_TXT_with_Chr10()   ' СКЛЕИТЬ тексты из выделенных ячеек с переносами строк
   If TypeName(Selection) <> "Range" Then Exit Sub
   Dim rRng As Range: Set rRng = Intersect(Selection, ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible))
   If rRng Is Nothing Then Exit Sub
   If rRng.Cells.Count = 1 Then Exit Sub
   Dim sText$, rCell As Range
   For Each rCell In Intersect(Selection, ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible))
      If Len(rCell.Value) Then sText = sText & IIf(Len(sText), vbLf, "") & rCell.Value
   Next rCell
   sText = Application.Trim(sText)
   With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}"): .SetText sText: .PutInClipBoard: End With
   MsgBox "Объединённый текст помещён в буфер обмена", , "Операция завершена успешно!"
End Sub
[/vba]
P.S. Объединение ячеек без предупреждения выполняется в одну строку:[vba]
Код
   Application.DisplayAlerts = False: ActiveWindow.RangeSelection.Merge: Application.DisplayAlerts = True
[/vba]

Автор - Alex_ST
Дата добавления - 28.10.2020 в 21:45
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Объединение ячеек с текстом по вертикали (Форматирование/Formattings)
  • Страница 1 из 1
  • 1
Поиск:

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