gpt4 book ai didi

vba - 从选择范围 VBA 中删除行

转载 作者:行者123 更新时间:2023-12-04 21:15:02 26 4
gpt4 key购买 nike

我试图编写一个 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

关于vba - 从选择范围 VBA 中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47572763/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com