Excel VBA - 根据相邻工作表中已过滤行的数量合并X行中的列

问题描述 投票:0回答:1

我有一个工作表(wsA),我需要根据工作表(wsB)中的过滤范围(两者都在同一个工作簿中)合并列B和C的可变行数。

例如,在wsB中,如果数据已被过滤,只显示4行(不包括标题),那么在wsA中我需要,从第12行开始,B12和C12合并,B13和C13,B14和C14,最后是B15和C15。

在wsA中合并的行数将始终基于来自wsB的过滤数据中存在的行数。它可以是0,可以是100或更多。

我尝试了下面的代码,但它似乎通过合并wsA中的那些行来镜像wsB中的现有行:

filledRows = wsB.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count - 1
wsA.Range("B12:C" & filledRows).Merge

我错过了什么?

excel vba excel-vba merge
1个回答
0
投票

要解决此问题,代码应如下所示:

filteredLastRow = ActiveSheet.UsedRange.Rows.Count
filledRows = ActiveSheet.Range("A2:A" & filteredLastRow).SpecialCells(xlCellTypeVisible).Count
Range("B12:C" & filledRows + 12).Merge True
© www.soinside.com 2019 - 2024. All rights reserved.