我有从第三方API下载的数据范围。数据出现在这样的范围内,它会定期从数据库中获取#N / A.我想删除列ABCH(而不是整列)中的数据并将它们移到仅剩下DEFG。我该怎么做这种迭代。当我尝试遍历范围中的单元格时,当我删除列时,索引会混淆,因为范围现在缩短了。如何在我删除列的情况下循环范围,范围大小会发生变化。感谢
答案 0 :(得分:0)
这样的事可能有用。请检查出来
Range("C18:C25,G18:G25,I18:I25").Select ' select multiple ranges - in your case columns A, B, C H
Selection.Delete Shift:=xlToLeft
答案 1 :(得分:0)
所以数据表可能看起来像这样
A B C D E
7 8 9 10 11
NA NA 4 5 7
9 10 11 12 NA
10 11 12 13 14
11 12 13 14 15
在这个例子中,我希望能够删除A,B和E列,并且C& D列是A列和B列的列。我最终做了一个解决方法,但我尝试的初始代码是这样的
for i =1 to datarange.columns.count
for j = 1 to datarange.rows.count
if iserror(datarange.cells(j,i)) then
' delete column shift cells
end if
next
next
问题在于,当我删除范围中的列时,列数正在下降。我没有迭代原始范围。无论如何,我设法做了一个简单的解决方法。谢谢你看看。