0

我正在使用 VBA 编辑 CSV 文件,但在合并列时遇到问题。显然有无数种不同的方法可以将单元格合并在一起,但我还没有找到任何适合我想要做的事情。我已经看到了几个选项,这些选项显示了如何将一行中的单元格合并到另一个单元格,或者将许多单元格放入一个列表中,但是我需要的是非常基本的,以至于我很震惊我找不到解决方案。我需要遍历工作表中的所有行,并将 B、C 和 D 列中的文本合并到一个单元格中。如何使用 VBA 快速完成这项工作?

// 7 Columns (before subroutine)
-------------------------------------------
|  1  |  A  |  B  |  C  |  2  |  3  |  4  |
-------------------------------------------
|  6  |  L  |  M  |  N  |  2  |  8  |  5  |
-------------------------------------------
|  4  |  X  |  Y  |  Z  |  9  |  1  |  7  |
-------------------------------------------
// etc


// 5 Columns (after subroutine)
---------------------------------------
|  1  |  A - B - C  |  2  |  3  |  4  |
---------------------------------------
|  6  |  L - M - N  |  2  |  8  |  5  |
---------------------------------------
|  4  |  X - Y - Z  |  9  |  1  |  7  |
---------------------------------------
// etc
4

1 回答 1

1

这将合并单元格然后删除列。

Sub test()
Dim wb As Workbook: Set wb = ThisWorkbook
Dim ws As Worksheet: Set ws = wb.Worksheets("Sheet1")
Dim lastrow, I as long

lastrow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

    For I = 1 To lastrow
        ws.Cells(I, 2).Value = ws.Cells(I, 2).Value & " - " & ws.Cells(I, 3).Value & " - " & ws.Cells(I, 4).Value
    Next I
    ws.Range(ws.Columns(3), ws.Columns(4)).Delete
End Sub
于 2020-03-30T20:52:28.477 回答