循环遍历excel中的列以查找具有特定值的单元格的问题

时间:2016-10-10 11:17:40

标签: excel vba excel-vba

我要做的是查看另一张Excel工作表,并从不同工作表中具有相同字符串的行中选择信息。我需要遍历列表并从行中选择几个值。我仍然是实现这一目标的远景,所以首先我只是看着sheet1试图将它与sheet2中的其他单元格进行比较。如果它们具有相同的值,我想在他们找到相同的行中挑选出某些单元格值值然后将它们放入另一张表中。如果这没有意义,请道歉。到目前为止,这是我的代码。此外,当我运行代码时,我得到一个错误'对象定义。当我用if语句调试它的行时出错了

Sub Awesome_macro()
    Dim x As Integer
    Dim Counter As Integer
      ' Set numrows = number of rows of data.
      NumRows = Range("H15", Range("H15").End(xlDown)).Rows.Count
      ' Select cell a1.
      Range("H16").Select
      ' Establish "For" loop to loop "numrows" number of times.
      For x = 1 To NumRows
         If StrComp(Sheets("Sheet1").Cells(H, 15).Value, Sheets("Sheet2").Cells(A, 1).Value) = 0 Then
            Sheets("Sheet1").Range("D15").Copy Destination:=Sheets("Sheet2").Range("B2")
         End If
         ' Selects cell down 1 row from active cell.
             ActiveCell.Offset(1, 0).Select
      Next
End Sub

2 个答案:

答案 0 :(得分:0)

尝试以下代码:

Value2Find = Sheets("Sheet2").Cells(A, 1).Value
Row_Num = Sheets("Sheet1").Range("A:A").Find(What:=Value2Find, LookIn:=xlValues).Row

答案 1 :(得分:0)

我找到了一种方法,但它没有正确循环

Sub Awesome_macro()

    public static int geth(int cx, int cy, int ex, int ey)
    {
        //cx = current position x
        //cy = current position y
        //ex = end (goal) position x
        //ey = end (goal) position y

        int c = 14;
        int d_min = Math.Min(cx - ex, cy - ey);
        int d_max = Math.Max(cx - ex, cy - ey);
        int h = c * d_min + (d_max - d_min);
        if (h < 0) //make h positive in case it's negative
        {
            h = h * -1;
        }

        return h;
    }

End Sub

现在将其打印到sheet2中,以便比较值和页面上的打印效果。只需要弄清楚如何正确循环