Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 特定标准“大于50000”或“小于-50000”_Excel_Vba_Copy_Row - Fatal编程技术网

Excel 特定标准“大于50000”或“小于-50000”

Excel 特定标准“大于50000”或“小于-50000”,excel,vba,copy,row,Excel,Vba,Copy,Row,这就是我目前所拥有的。我想做一些修正,但我不完全明白怎么做 在第3行,我希望我的“复制标准”是“大于50000”或“小于50000” 如何在Sheet2上指定第一个项目复制到的单元格?例如,Sheet2!B10 然后,如何将从符合我的条件的第1页行复制的列限制为第1页的A、B、E、F、H、I、O和AG列 您可以使用Abs功能,并且只能进行一次检查: 并使用工作表对象的范围属性,通过Intersect方法选择给定行中需要的列: 您可以使用Abs功能,并且只能进行一次检查: 并使用工作表对象的范围属

这就是我目前所拥有的。我想做一些修正,但我不完全明白怎么做

在第3行,我希望我的“复制标准”是“大于50000”或“小于50000”

如何在Sheet2上指定第一个项目复制到的单元格?例如,Sheet2!B10

然后,如何将从符合我的条件的第1页行复制的列限制为第1页的A、B、E、F、H、I、O和AG列

您可以使用Abs功能,并且只能进行一次检查:

并使用工作表对象的范围属性,通过Intersect方法选择给定行中需要的列:

您可以使用Abs功能,并且只能进行一次检查:

并使用工作表对象的范围属性,通过Intersect方法选择给定行中需要的列:

您正在使用x1Up而不是xlUp

您正在使用x1Up而不是xlUp


对于标题问题,您必须执行两个条件语句:WorksheetsSheets1.Cellsi,3.Value>50000或WorksheetsSheets1.Cellsi,3.Value<-50000然后。Abs WorksheetsSheets1.Cellsi,3.Value>50000如果代码中的语句不显示负数。。。它向标题问题显示,您必须执行两个条件语句:WorksheetsSheets1.Cellsi,3.Value>50000或WorksheetsSheets1.Cellsi,3.Value<-50000 Then.absWorksheetsSheets1.Cellsi,3.Value>50000代码中的if语句不显示负数。。。它再次显示选项显式罢工@AJD lol。。。我应该提到这一点,还有一些其他的事情,在第1001次这样做之后,很容易错过:-选项再次出现@AJD lol。。。我应该提到这一点,还有一些其他的事情,在第1001次做了之后很容易错过:-这对我来说非常有效。谢谢你的帮助!这完全符合我的目的。谢谢你的帮助!
    a = Worksheets("Sheet1").Cells(Rows.Count, 1).End(x1Up).Row

    For i = 2 To a

        If Worksheets("Sheet1").Cells(i, 3).Value = **>50000 OR <50000** Then

            Worksheets("Sheet1").Rows(i).Copy
            Worksheets("Sheet2").Activate
            b = Worksheets("Sheet2").Cells(Rows.Count, 1).End(x1Up).Row
            Worksheets("Sheet2").Cells(b + 1, 1).Select
            ActivateSheet.Paste
            Worksheets("Sheet1").Activate

        End if

    Next

    Application.CutCopyMode = False
    ThisWorkbook.Worksheets("Sheet1").Cells(1, 1).Select

End Sub
Option Explicit

Sub main()
    Dim a As Long, i As Long
    Dim sht2 As Worksheet

    Set sht2 = Worksheets("Sheet2") ' set a worksheet object for destination sheet

    With Worksheets("Sheet1") ' reference Sheet1
        a = .Cells(.Rows.Count, 1).End(xlUp).Row ' get referenced sheet column A row index of last not empty cell
        For i = 2 To a
            If Abs(.Cells(i, 3).Value) > 50000 Then ' if cell value in current row index and column 3 is greater than 50000 or less then -500000
                Intersect(.Rows(i), .Range("A:B , E:F, H:I, O:O, AG:AG")).Copy
                sht2.Cells(sht2.Rows.Count, 1).End(xlUp).Offset(1).PasteSpecial
                Application.CutCopyMode = False
            End If
        Next
    End With
End Sub
Application.ScreenUpdating = False
Dim cell As Range
With Worksheets("Sheet1")
    For Each cell In .Range("A2", .Cells(Rows.Count, 1).End(xlUp)).Offset(0, 2)
        If cell.Value > -50000 Or cell.Value < 50000 Then
            With Worksheets("Sheet2")
                cell.EntireRow.Range("A1:B1,E1:F1,H1,I1,O1,AG1").Copy Destination:=.Cells(Rows.Count, 1).End(xlUp).Offset(1)
            End With
        End If
    Next
End With