首页 > 解决方案 > 根据关键字查找要复制的特定范围

问题描述

您好,我在 excel 中有以下 VBA 代码

On Error Resume Next

Dim wk As Worksheet
Set wk = Sheets("ABC")
With Sheets("DEF")
   .Range("A6", .Columns("A").Find("", , xlValues, xlWhole).Offset(-1)).EntireRow.Copy _
    wk.Range("A" & wk.Cells(Cells.Rows.Count, "A").End(xlUp).Row + 1)
End With

此代码的目的是从A6工作表中的单元格开始DEFA6包含“日期”一词)并复制 A6 下的工作表范围直到第一个空白行,然后粘贴到工作表 ABC 中。

您能否帮我改进此代码,以找到当前位于单元格 A6 中的“日期”一词并执行相同的任务?(即让我们说下次“日期”位于单元格 A1 中)

谢谢。

标签: vbaexcel

解决方案


您需要声明您的变量(“日期”和最后一行)。

Dim lRow As Long
Dim fWord As Range

Dim wk As Worksheet
Set wk = Sheets("ABC")

    With Sheets("DEF")
        lRow = Range("A" & Rows.Count).End(xlUp).Row
        Set fWord = Columns("A").Find(what:="Date", LookIn:=xlValues, lookat:=xlWhole)

        If Not fWord Is Nothing Then Rows(fWord.Row & ":" & lRow).Copy _
        wk.Range("A" & wk.Cells(Cells.Rows.Count, "A").End(xlUp).Row + 1)
    End With

推荐阅读