2010-09-02 5 views
1

Я хотел бы написать макрос в vb для выбора всех строк, где значения в столбце B содержат символы «через». Это моя первая попытка макросов и не слишком уверен, как начать.excel 2007 macro select records

ответ

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. В меню выберите Insert-Module.
  5. Вставьте код в окно кода справа.
  6. Измените Call SelectByValue (диапазон («B1: B10»), «через») в коде в соответствии с вашими потребностями.
  7. Закрыть VBE.

Как проверить код?

  1. Hit Tools-Macro-Macros и дважды щелкните CallSelectByValue.

Перед запуском макроса:

alt text

После запуска макроса:

alt text

+0

Спасибо за подробный ответ, действительно ценю это. О том, как бы я отображал или вырезал строки в другой рабочий лист – vbNewbie