gpt4 book ai didi

EXCEL 2010 MACRO 连接包含不同行数的单元格

转载 作者:行者123 更新时间:2023-12-04 20:46:00 25 4
gpt4 key购买 nike

我有 10 个 excel 文件,每个文件超过 10K 行。

我想连接一个已分成不同行的描述字段。有些记录有两行,有些记录有 3 行,有些甚至每行有 5 或 6 行!每条记录都有一个带有唯一代码或行号的行。

我尝试过使用嵌套的 if 函数,但是在确定一条记录何时有 4 行或更多行时它变得太复杂了。

该文件如下所示:


A B
CODIGO DESCRIPCIÓN

R2 Dos Renglones
2R, Renglón Dos
R3 Tres Renglones
3R, Renglón 2
3R, Renglón 3
R4 Cuatro Renglones
4R, Renglón 2
4R, Renglón 3
4R, Renglón 4
R5 Cinco Renglones
5R Renglón 2
5R Renglón 3
5R Renglón 4
5R Renglón 5
R21 Dos Renglones
2R, Renglón Dos
R51 Cinco Renglones
5R Renglón 2
5R Renglón 3
5R Renglón 4
5R Renglón 5
R31 Tres Renglones
3R, Renglón 2
3R, Renglón 3

是否有一系列公式或宏可以用来实现这些?

提前致谢。

最佳答案

试试这个代码:

Sub sample()


Dim lastRow As Long
lastRow = Range("B" & Rows.Count).End(xlUp).Row

Dim CellA As String
Dim CellB As String

For i = 2 To lastRow
CellA = IIf(Cells(i, 1) = "", CellA, Cells(i, 1))
CellB = Cells(i, 2)
Cells(i, 3) = CellA & " " & CellB
Next
End Sub

enter image description here

更新代码
Sub sample()


Dim lastRow As Long
lastRow = Range("B" & Rows.Count).End(xlUp).Row

Dim firstCell As Boolean
Dim dataCell As Range
Dim strVal As String

For i = 2 To lastRow

If Cells(i, 1) <> vbNullString Then
begin:
If firstCell = False Then
Set dataCell = Cells(i, 1)
firstCell = True

strVal = vbNullString
strVal = Cells(i, 2)

Else

Cells(dataCell.Row, 3) = strVal
firstCell = False
GoTo begin
End If



Else
strVal = strVal & ", " & Cells(i, 2)
End If


Next

Cells(dataCell.Row, 3) = strVal
End Sub

enter image description here

关于EXCEL 2010 MACRO 连接包含不同行数的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16783623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com