Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 活动单元格查找行vba中的最后一列_Excel_Vba - Fatal编程技术网

Excel 活动单元格查找行vba中的最后一列

Excel 活动单元格查找行vba中的最后一列,excel,vba,Excel,Vba,我有一段代码,找到一个特定的单元格,然后把活动单元格设置在右边 但是,我想使它能够找到包含苹果和香蕉的单元格,并使活动单元格成为与原始找到的苹果和香蕉单元格位于同一行的最后一个使用列中的单元格 我希望这是有意义的,我感谢任何帮助 谢谢 Cells.Find(What:="Apples and Banana", After:=ActiveCell, LookIn:= _ xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDir

我有一段代码,找到一个特定的单元格,然后把活动单元格设置在右边

但是,我想使它能够找到包含苹果和香蕉的单元格,并使活动单元格成为与原始找到的苹果和香蕉单元格位于同一行的最后一个使用列中的单元格

我希望这是有意义的,我感谢任何帮助

谢谢

Cells.Find(What:="Apples and Banana", After:=ActiveCell, LookIn:= _
    xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
    xlNext, MatchCase:=False, SearchFormat:=False).Activate
    ActiveCell.Offset(0, 1).Select

您可以在
find
.row
的帮助下查找单元格的行,然后在激活单元格之前检查最后一列

Option Explicit

    Sub test()

    Dim LastCol As Long
    Dim ABRow As Long
    Dim ABrange As Range

      Set ABrange = Cells.Find(What:="Apples and Banana", After:=ActiveCell, LookIn:= _
        xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
        xlNext, MatchCase:=False, SearchFormat:=False)

    If Not ABrange Is Nothing Then
        ABRow = ABrange.Row
    End If

    LastCol = Cells(ABRow, Columns.Count).End(xlToLeft).Column

    Cells(ABRow, LastCol).Activate

End Sub

我不会将
返回到与
查找
相同的行,因为如果没有找到任何内容,它将抛出错误。执行查找返回范围对象,检查它是否为空,然后从中获取行号。非常感谢!行后:Cells(ABRow,LastCol).Activate,您知道复制所选单元格并将其粘贴为值而不是公式的代码吗?我知道粘贴的特殊功能,但我不确定选择后如何正确复制。不客气,您不需要复制粘贴,您可以写:
Cells(x,y)=Cells(ABRow,LastCol)。Value
谢谢。我编辑了上面的代码以包含添加内容,但我不确定如何在多个工作表中避免剪贴板,以及如何作为值而不是公式进行复制和粘贴。Dw如果不是但我很感激,我猜答案仍然是这样的:
Sheets(“xxx”)。Cells(x,y)=Sheets(“蔬菜”)。Cells(ABRow,LastCol)。Value