office 2007宏 - 在一个工作表中查找单元格并将行复制到工作表2

时间:2013-01-07 14:28:34

标签: excel-vba excel-2007 vba excel

我需要帮助编写以下宏。

表单1在A列中包含以下单元格 0001 技术 0003 0004 0005

表2在A列中有以下单元格 0001 0003 0004

我需要一个宏来查找工作表1中的工作表2单元格A1中的数字,然后将工作表A1 - G1从工作表2复制到工作表1中相应的数字行。

表2中的数字每天都不同,所以我需要宏来搜索单元格A1中键入的内容。我已经尝试了所有我知道的宏来搜索没有运气的单元格的内容。

我能想到的唯一方法是在宏期间调出一个搜索框并手动输入内容

感谢

1 个答案:

答案 0 :(得分:1)

试试这个:

Sub CopyCells()

Dim rnSource As Range, rnDest As Range, rnTempSource As Range, rnTempDest As Range

Set rnDest = Sheet1.Range("A1", Sheet1.Range("A60000").End(xlUp).Address)
Set rnSource = Sheet2.Range("A1", Sheet2.Range("A60000").End(xlUp).Address)

'Loop through Sheet2 column A, find value in Sheet1 and copy cells across

For Each rnTempSource In rnSource
    If rnTempSource.Value <> "" Then
        Set rnTempDest = rnDest.Find(rnTempSource.Text) 'Used .text to ignore unusual number format 0001
        Sheet1.Range(rnTempDest, rnTempDest.Offset(0, 6)).Value = Sheet2.Range(rnTempSource, rnTempSource.Offset(0, 6)).Value
    End If
Next

End Sub