出于某种原因,我无法弄清楚如何做到这一点......看起来很基本:
尝试从特定行开始删除不需要的列。
实施例: 想要从Wsh2的第10行开始删除C,D,E,M,N和L列。
'deleting columns that are unwanted
Cells(wsh2.Cells("C10"), wsh2.Cells("C10").End(xlDown)).EntireColumn.Delete
Cells(wsh2.Cells("D10"), wsh2.Cells("C10").End(xlDown)).EntireColumn.Delete
Cells(wsh2.Cells("E10"), wsh2.Cells("C10").End(xlDown)).EntireColumn.Delete
Cells(wsh2.Cells("M10"), wsh2.Cells("C10").End(xlDown)).EntireColumn.Delete
Cells(wsh2.Cells("N10"), wsh2.Cells("C10").End(xlDown)).EntireColumn.Delete
Cells(wsh2.Cells("L10"), wsh2.Cells("C10").End(xlDown)).EntireColumn.Delete
End Sub
我已经修改了我在这里使用Range的先前代码。我也尝试过使用Union和Range,但似乎无法弄明白。
基本上:在我复制上一个工作表中的一系列行之后,尝试仅删除从特定行开始的特定列。
任何帮助都会很棒。谢谢!
答案 0 :(得分:1)
如果你使用EntireColumn.Delete它将删除整个列,你需要获取范围并删除它,例如。
Range("C10:C" & Rows.Count).Delete
答案 1 :(得分:0)
您实际上并不想删除整个列,如您所述。您想要清除单元格C10:Cend
,D10:Dend
,E10:Eend
,M10:Mend
,N10:Nend
和L10:Lend
。这是您希望代码执行的操作。导航到所选单元格,并清除该特定坐标下方的所有单元格。
为方便起见,您可以循环遍历从C10
到C10000
的所有单元格,并删除每个单元格的内容,例如,实现起来非常简单,但可能效率最低