我试图编写一个 VBA 来复制和粘贴很多不同的数据,每张表中有很多不重要的数据,所以我只想复制重要的部分。我现在拥有的 VBA 如下所示:
Sub DynamicRange()
'Best used when your data does not have any entirely blank rows or columns
Dim sht As Worksheet
Dim StartCell As Range
Set sht = Worksheets("Kvalitetskriterier 2015")
Set StartCell = Range("A8")
'Select Range
StartCell.CurrentRegion.Select
End Sub
我需要的是一种从所选范围中删除第一行和最后 4 行的方法,因为我不需要该部分。有没有办法从我的 VBA 中做到这一点?
Select
如果要复制就不需要范围了,直接复制就可以Copy
了。
如果要删除 的第一行Range
,可以使用Range.Ofset(1, 0)
,这将删除第一行(标题)。
如果您还想删除 Range 末尾的行,您可以使用Range.Resize(- number of rows you want to remove)
.
代码
Sub DynamicRange()
'Best used when your data does not have any entirely blank rows or columns
Dim sht As Worksheet
Dim StartCell As Range
Set sht = Worksheets("Kvalitetskriterier 2015")
Set StartCell = sht.Range("A8")
'Select current region
Set StartCell = StartCell.CurrentRegion
' set offeset 1 row (remove header), and use Resize to remove the last row
Set StartCell = StartCell.Offset(1, 0).Resize(StartCell.rows.Count - 2)
StartCell.Copy ' <-- No need to Select it if you want to copy
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句