-1

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

Пример:

Содержание | Образец | Больше | MORE2

Поэтому я хочу объединить "Content" и "Sample" и сместить ячейки "More" и "More2" влево, чтобы получился результат.

Образец контента | Больше | MORE2

Я нашел код, который объединяет 2 столбца, но он объединяет 2 столбца в 1, но он по-прежнему занимает вторые столбцы. Поэтому я должен "Слить" и удалить второй столбец и сдвинуть "Еще" и "Больше2" влево.

Вот код, который у меня есть:

    Sub MergeOneCell()
    'Updateby20140128
    Dim Rng As Range
    Dim WorkRng As Range
    Dim Sigh As String
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
    Sigh = Application.InputBox("Symbol merge", xTitleId, ",", Type:=2)
    xOut = ""
    Application.DisplayAlerts = False
    For Each Rng In WorkRng
    xOut = xOut & Rng.Value & Sigh
    Next
    With WorkRng
    .Merge
    .Value = VBA.Left(xOut, VBA.Len(xOut) - 1)
    End With
    Application.DisplayAlerts = True
    End Sub

Любая помощь будет принята с благодарностью. У меня есть тонна данных для обработки, и я смогу сэкономить часы. Я просто не нашел никакого решения до сих пор.

1 ответ1

0

Это берет входы и делает операцию

Sub test()
Dim str As String
str = Application.InputBox("symbol", "type it", Type:=2)
Dim rng As Range
Set rng = Application.InputBox("Use mouse", "Selection", Type:=8)

For Each c In rng
c.Value = c.Value & str & c.Offset(, 1).Value
Next

rng.Offset(, 1).EntireColumn.Delete

End Sub

Или используйте формулу, например =CONCATENATE(A1,"&",B1) а затем удалите столбцы вручную.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .