复制动态范围的值,可能借助Vlookup或Match

时间:2014-06-17 20:09:26

标签: vba dynamic copy range vlookup

每年都会在第14行的工作表中添加一行数据(年份按降序排列)。我试图复制一个从C14开始的范围,并根据值' 1990'在C列的某个地方结束。在A列中。我认为vlookup可能能够解决这个问题,但也许不是。我绝对对任何其他方法持开放态度。这是我试图开始工作的代码。

Sub Figure11()
iRow = Cells(14, 1).End(xlDown).Row
Sheets("BCW").Range("C14:=Vlookup(1990, A14:C" & iRow & ", 3,FALSE)").Copy
Worksheets("Figure1-1").Range("B3").PasteSpecial xlPasteValues
End Sub

提前感谢您的帮助。

致以最诚挚的问候,

1 个答案:

答案 0 :(得分:0)

假设1990年在A栏中只出现一次

Sub Figure11()
Dim yr1990 As Variant
Dim rw As Integer

Sheets("BCW").Activate
Set yr1990 = Columns(1).Find(what:=1990, lookat:=xlWhole)
    If yr1990 Is Nothing Then
        Debug.Print "year 1990 not found"
        Exit Sub
    Else:
        rw = Cells.Find(what:=1990, lookat:=xlWhole).Row
    End If
Range("C14", Cells(rw, 3)).Copy
Worksheets("Figure1-1").Range("B3").PasteSpecial xlPasteValues
End Sub