VBA – 基于另一列提取同一行的值

我需要一个macros,它将向下滚动列B,直到它的值传递6.然后,在第一个值传递从列A的该行上的值(我将这个值为X)然后转到另一个表同样的一本书,在C列之后插入3行已经变得大于或等于X.我对vba很新,不知道我在做什么,但是我在时间紧迫,可以使用一些帮助。 我不知道这是否会有帮助,但我写了一些超级伪代码,可以解释它。 (不仅我需要一个X,但我也需要一个Y在第二张纸的另一个地方插入3行)

Survey.cell dls = Where(column("J") > 6.0 get.row) kop = Where(column("B") meets dls) Survey.cell inc = Where(column("C") >85 get.row) lnd = Where(column("B") meets inc) Journal.cell Where cloumn("M") >= kip insert.row & inerst.row & insert.row Where column("M") >= lnd insert.row & insert.row & insert.row 

我能find的最接近的东西是这样的: 如何在列中find文本并保存第一次find的行号 – Excel VBA ,但这并不是我所需要的。 我感谢提供的任何帮助。 祝你有美好的一天!

如果我的问题得到解决,应该这样做。 如果工作表中还有非数字值,则将失败。

 Sub DoIt() Dim i As Long Dim x As Double Dim Worksheet1 As Worksheet Dim Worksheet2 As Worksheet Dim ColumnA As Long Dim ColumnB As Long Dim ColumnC As Long Set Worksheet1 = ActiveWorkbook.Worksheets("Sheet1") ' Change name of sheet if necessary Set Worksheet2 = ActiveWorkbook.Worksheets("Sheet2") ' Change name of sheet if necessary ColumnA = 1 ' Change if you want other columns, 1 = A-column, 2 = B etc ColumnB = 2 ColumnC = 3 For i = 1 To Worksheet1.UsedRange.Rows.Count If Worksheet1.Cells(i, ColumnB).Value > 6 Then x = Worksheet1.Cells(i, ColumnA).Value Exit For End If Next If x = 0 Then MsgBox "No value greater then 6 found in colum b in sheet 1" For i = 1 To Worksheet2.UsedRange.Rows.Count If Worksheet2.Cells(i, ColumnC).Value >= x Then Worksheet2.Rows(i + 1).Insert Worksheet2.Rows(i + 1).Insert Worksheet2.Rows(i + 1).Insert Exit Sub End If Next MsgBox "No value greater then " & x & " found in column C in sheet 2" End Sub