Объединить ячейки в зависимости от значения в столбце для диапазона ячеек

Мне нужно добавить данные в строку G и объединить дату в строке A, если строка E имеет одинаковые строки. Я нашел Excel VBA – объединить строки с повторяющимися значениями в одной ячейке и слить значения в другой ячейке , что очень полезно, но мне нужно сделать это для диапазона G7: G65536, потому что мои строки от 1 до 6 объединяются.

Есть ли способ адаптировать этот код?

Я пытался поиграть с ним, но это не дало мне никаких результатов.

Я использовал ваши комментарии, чтобы придумать следующие примеры данных.

Слияние данных строк перед

Я подозреваю, что идея состоит в том, чтобы использовать столбец E в качестве уникального ключевого столбца и агрегата (aka SUM) количества из столбца G при построении конкатенированного списка дат из столбца A. Первые 6 строк свойства Worksheet.UsedRange должны быть игнорируется, поскольку есть как минимум некоторое свойство Range.MergeCells с объединенным свойством Areas в первых шести строках. TBH, я обнаружил, что ваш оригинальный рассказ противоречил вашим последним комментариям, поэтому я использовал последнее как «открытие».

 Sub merge_some_row_data() Dim rw As Long, lr As Long, s As Long, str As String Application.ScreenUpdating = False With ActiveSheet.Cells(1, 1).CurrentRegion With .Cells(7, 1).Resize(.Rows.Count - 6, .Columns.Count) .Cells.Sort Key1:=.Columns(5), Order1:=xlAscending, _ Key2:=.Columns(1), Order2:=xlAscending, _ Orientation:=xlTopToBottom, Header:=xlNo End With lr = .Rows.Count For rw = .Rows.Count To 7 Step -1 If .Cells(rw, "E").Value2 <> .Cells(rw - 1, "E").Value2 And rw < lr Then .Cells(rw, "G") = Application.Sum(.Range(.Cells(rw, "G"), .Cells(lr, "G"))) str = vbNullString For s = rw To lr str = str & Chr(59) & .Cells(s, "A").Text 'Chr(59) is the ASCII code for a semi-colon Next s .Cells(rw, "A") = Mid(str, 2) 'truncate off the firsty semi-colon .Cells(rw + 1, 1).Resize(lr - rw, 1).EntireRow.Delete lr = rw - 1 End If Next rw End With Application.ScreenUpdating = True End Sub 

После запуска кода результаты выглядели следующим образом.

Слияние данных строк после

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

  • Как объединить строки с одним и тем же идентификатором из csv с php
  • слияние текста в столбце A с текстом в столбце B, вывод в столбец C - excel
  • Как объединить строки в Excel 2010?
  • Объединить DataTable c #
  • Прокрутка через папку для слияния нескольких листов Excel в один столбец
  • Perl Как объединить два или более файла excel в одном (несколько листов)?
  • Объединение клеток excel на основе значения ячейки с использованием c #
  • Как получить данные объединенной ячейки, учитывая индексы ячеек в java?
  • Объединенные ячейки не действуют на Save, используя Spreadsheet :: ParseExcel
  • Excel VBA объединяет два столбца
  • Несколько листов объединены в один, исключая несколько листов. ошибка
  • Interesting Posts

    Excel VBA: сопоставление значений суммы с кодировкой для применения правил

    Преобразуйте тип данных денег в строку и добавьте несколько ведущих нулей

    SAS ODS tagsets.excelxp: ширина столбца автоподписи, вызывающая vbscript внутри SAS

    Развертывание надстройки Excel, выполненное с помощью vsto .net 4.0 на клиенте с .net 2.0

    Двойные кавычки из запроса excel при копировании / вставке из Excel в SQL Server 2012

    Пользовательская формула, не обновляющаяся после открытия Excel 2013 и подтверждая предупреждение о безопасности

    Несоответствие формул при копировании рабочего листа в новую книгу

    Как сохранить диапазон значений столбцов в двухмерном массиве

    Формула Excel, ссылающаяся на нерабочую ячейку другого листа

    VB.Net Открытие Excel Throws «Исключение из HRESULT: 0x80010105 (RPC_E_SERVERFAULT)»

    Как вводить данные из пользовательской формы в выбранную ячейку – Excel

    Ошибка VBA Runtime 1004 on if

    Итерация через 2D-массив с циклом for

    Как изменить первый столбец в текстовый формат в SQL на XLS?

    Как обновить строку excel с помощью C # ADO.NET?

    Давайте будем гением компьютера.