嵌套循环不能按预期的方式运行
任务:我正在尝试复制可能包含一些空格的连续的几个单元格(此刻为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