gpt4 book ai didi

vba - 将行复制到新工作表 VBA

转载 作者:行者123 更新时间:2023-12-02 09:31:48 26 4
gpt4 key购买 nike

我正在尝试编写一个脚本,将一行从工作表 1 复制到工作表 2,如果工作表 1 第一列的值大于或等于 10。

Sub Macro1()

Cells(1, 1).Select
For i = 1 To ActiveCell.SpecialCells(xlLastCell).Row

Cells(i, 1).Select

If ActiveCell.Value >= 10 Then
Rows(ActiveCell.Row).Select

Rows(i & ":").Select
Selection.Copy

Sheets("Sheet2").Select
ActiveSheet.Paste

Sheets("Sheet1").Select

End If

Next i

End Sub

最佳答案

这与第一个答案类似,但有一些差异。以下是一些注意事项:

  • 使用 for-each 循环遍历一个范围(它不如使用变体数组快,但可以让事情变得简单,并且比 for 循环提供更快的速度。
  • 您可能需要在值检查之前添加“If IsNumeric(cell)”检查。
  • 不要使用 select - 您不需要这样做,而且会浪费资源。
  • 最好使用 A 中使用的最后一个单元格,然后使用使用的范围。

这是代码:

Sub CopyRows()

Dim cell As Range
Dim lastRow As Long, i As Long

lastRow = Range("A" & Rows.Count).End(xlUp).Row
i = 1

For Each cell In Sheets(1).Range("A1:A" & lastRow)
If cell.Value >= 10 Then
cell.EntireRow.Copy Sheets(2).Cells(i, 1)
i = i + 1
End If
Next

End Sub

关于vba - 将行复制到新工作表 VBA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10502524/

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