excel 2007宏选择记录

时间:2010-09-02 19:16:26

标签: vba match excel-2007 selection

我想在vba中编写一个宏来选择所有行,其中B列中的值包含字符'via'。这是我第一次尝试宏而不太确定如何开始。

1 个答案:

答案 0 :(得分:1)

这个应该为你做(它对我有用) - 代码改编自here

Option Explicit

Sub SelectByValue(Rng1 As Range, Value As String)

    Dim MyRange As Range
    Dim Cell As Object

     'Check every cell in the range for matching criteria.
    For Each Cell In Rng1
        If InStr(1, Cell.Text, "via") Then
            If MyRange Is Nothing Then
                Set MyRange = Range(Cell.Address)
            Else
                Set MyRange = Union(MyRange, Range(Cell.Address))
            End If
        End If
    Next
     'Select the new range of only matching criteria
    MyRange.Select

End Sub

Sub CallSelectByValue()

     'Call the macro and pass all the required variables to it.
     'In the line below, change the Range and the Value as needed
    Call SelectByValue(Range("B1:B10"), "via")

End Sub

如何使用?

  1. 复制上面的代码。
  2. 打开要运行此代码的工作簿。
  3. 按Alt + F11以打开Visual Basic编辑器(或VBE)。
  4. 从菜单中选择“插入模块”。
  5. 将代码粘贴到右侧的代码窗口中。
  6. 更改代码中的Call SelectByValue(范围(“B1:B10”),“via”)行以符合您的需求。
  7. 关闭VBE。
  8. 如何测试代码?

    1. 点击工具 - 宏宏,然后双击CallSelectByValue。
    2. 在运行宏之前:

      alt text

      运行宏后:

      alt text