嵌套循环不能按预期的方式运行

任务:我正在尝试复制可能包含一些空格的连续的几个单元格(此刻为13)。 我想要将这些值粘贴到列中的13行。

尝试:我没有任何运气.Pastespecial , Paste:=xlPasteValues, SkipBlanks:=True, Transpose:= True

目前的做法:我想使用FOR循环来validation和传输。

 Dim j As Long, I As Long For j = 3 To 16 If Not IsEmpty(Cells(aCell.Row, j)) Then For i = 16 To 33 oSht.Cells(i, 4).Value = Cells(aCell.Row, j).Value Next i End If Next j 

问题:但是这个代码是从Cells(aCell.Row, j).取出最后一个非空单元Cells(aCell.Row, j). 并在oSht.Cells(i, 4)显示它的所有值。

请求:我正在尝试确定FOR FOR LOOP出现错误,还是有更简单的方法来复制几个单元格并粘贴所有非空单元格。

不知道上下文有点难以提供正确的答案,但我认为问题是内部循环,它应该只是一个计数器,就像这样:

 Dim j As Long, I As Long For j = 3 To 16 If Not IsEmpty(Cells(aCell.Row, j)) Then i=i+1 oSht.Cells(i, 4).Value = Cells(aCell.Row, j).Value End If Next j 

对于我来说,转置工作,但我只select具有值的单元格:

 Option Explicit Public Sub transposeContig() Sheets(1).UsedRange.Rows(1).SpecialCells(xlCellTypeConstants, 23).Copy Sheets(2).Cells(1, 1).PasteSpecial Transpose:=True End Sub 

在这里输入图像说明