[英]Deleting unwanted columns starting at a specific row - excel vba
由于某种原因,我不知道该怎么做...似乎很基本:
尝试删除从特定行开始的不需要的列。
示例:要删除所有从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,但似乎无法弄清楚。
基本上:在从上一个工作表中复制了一定范围的行之后,尝试仅删除从特定行开始的特定列。
任何帮助都会很棒。 谢谢!
如果使用EntireColumn.Delete它将删除整个列,则需要获取范围并将其删除,例如。
Range("C10:C" & Rows.Count).Delete
如您所说,您实际上并不想删除整个列。 您要清除单元格C10:Cend
, D10:Dend
, E10:Eend
, M10:Mend
, N10:Nend
和L10:Lend
。 这就是您想要的代码。 导航到所选的单元格,然后清除该特定坐标以下的所有单元格。
为简单起见,您可以循环浏览从C10
到C10000
所有单元,并删除每个单元的内容,例如,这可能非常容易实现,尽管可能不是最有效的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.