【发布时间】:2016-07-07 13:20:17
【问题描述】:
我有一个 Excel 表,它基本上在 A 列到 C 列中有一个可变数字,它会根据 for next 循环过滤为唯一值我已经实现了这一点,接下来我试图复制可见范围从 F 列开始直到last column(因为每次过滤时都会出现变量列)并将其垂直转置到新工作表中。我使用的方法是计算每个可见行并复制到结束。这是代码。
Set ws = ActiveSheet
Set WS2 = ThisWorkbook.Sheets("3")
L2 = ws.Cells(Rows.Count, 1).End(xlUp).Row
For Each CELL In ws.Range("F2:F" & L2).SpecialCells(xlCellTypeVisible)
i = CELL.Row
L3 = ws.Cells(i, Columns.Count).End(xlToLeft).Column
ws.Range(Cells(i, 6), Cells(i, L3)).Copy
L4 = WS2.Cells(Rows.Count, 4).End(xlUp).Row
WS2.Cells(L4 + 1, 4).PasteSpecial Paste:=xlPasteAll, Transpose:=True
Next CELL
但是有没有其他方法可以复制和转置具有从 F 列到最后一列的值的单元格?在上面的示例中,从 F108:H110 开始,仅选择并复制其中具有值的单元格。
【问题讨论】: