【发布时间】:2021-08-05 05:49:52
【问题描述】:
我正在尝试编写代码来组合一个范围内两列的值,并使用 vba 将其写入 excel 下一张工作表上的单元格
将列合并为唯一值后,范围如图所示
A 列和 E 列是不相邻的列。 我希望单元格中下一张纸上的结果为 := BCCH NL:968,TCHNL:961
我是 vba 新手。
我使用下面的代码来合并单元格
Sub MergeAdjacentCell()
Dim sheet As Worksheet
Dim Rng As range, xCell As range
Dim WorkRng As range
Dim xTitleId As String
Dim xRows As Integer
Dim i As Byte
Dim j As Byte
Set WorkRng = range("A1:A" & 6 & ",E1:E" & 6)
WorkRng.Select
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xRows = WorkRng.Rows.Count
For Each Rng In WorkRng.Columns
For i = 1 To xRows - 1
For j = i + 1 To xRows
If Rng.Cells(i, 1).Value <> Rng.Cells(j, 1).Value Then
Exit For
End If
Next
WorkRng.Parent.range(Rng.Cells(i, 1), Rng.Cells(j - 1, 1)).Merge
i = j - 1
Next
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
我尝试了一些方法,但找不到方法。 请帮忙!
【问题讨论】:
-
欢迎来到 SO。我建议您也添加您尝试过的 VBA 的任何内容,添加所需结果应该是什么样子的图像。
-
嗨,Naresh,我想要一个范围,例如 A1:A6 到 E1:E6 ,然后它应该按行组合两列的每个单元格 -
-
我附上了用于将相邻列中的单元格合并到唯一值的代码
-
我对代码有点困惑,我想你只需要将两个单元格中的代码合并到另一个单元格中。为什么要运行两个循环?
-
如果只是 A & ": & E 那么你可以使用公式
=A1 & ":" & E1,我可能错了,因为我认为我错过了独特的部分