Excel VBA在列A中搜索值A找到选择行值,列F作为活动单元格

时间:2016-02-02 22:13:29

标签: excel vba excel-vba

我是VBA新手......

我在A栏中寻找值“A”。然后,我想使用值“A”所在的行号,并将列F中的现有函数复制到列E中。

这是我尝试过的,显然不起作用......

Dim A_Row As Long
A_Row = Application.WorksheetFunction.Match("A", Range("A:A"), 0)
Range("E" & A_Row).Select
ActiveCell.Select
ActiveCell.Offset(0, 5).Select
Selection.Copy
ActiveCell.Offset(0, -1).Select
ActiveSheet.Paste

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

在我看来,如果您打算使用vba,那么除非完全必要,否则请避免使用工作表函数。

Sub caroll()
    Dim ws As Worksheet
    Dim A_row As Long
    Dim rng As Range

    Set ws = ActiveSheet
    'Loop through column A
    For Each rng In ws.Range(ws.Cells(1, 1), ws.Cells(ws.Rows.Count, 1).End(xlUp))
        'Test whether cell = "A","B", or "Z"
        If VarType(rng) <> vbError Then
            If rng.Value = "A" Or rng.Value = "B" Or rng.Value = "Z" Then
                'If true copy column F of that row into Column E
                rng.Offset(, 5).Copy rng.Offset(, 4)
            End If
        End If
    'loop
    Next rng


End Sub