2010-09-02 24 views
1

Je voudrais écrire une macro dans vb pour sélectionner toutes les lignes où les valeurs de la colonne B contiennent les caractères 'via'. C'est ma première tentative de macros et je ne sais trop comment commencer.excel 2007 macro select records

Répondre

1

Celui-ci devrait le faire pour vous (cela a fonctionné pour moi) - code adapté de 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 

Comment l'utiliser?

  1. Copiez le code ci-dessus.
  2. Ouvrez le classeur dans lequel vous souhaitez exécuter ce code.
  3. Appuyez sur Alt + F11 pour ouvrir Visual Basic Editor (ou VBE).
  4. Dans le menu, choisissez Insert-Module.
  5. Collez le code dans la fenêtre de code à droite.
  6. Modifiez la ligne Appel SelectByValue (Range ("B1: B10"), "via") dans le code pour répondre à vos besoins.
  7. Fermez le VBE.

Comment tester le code?

  1. Hit Outils-Macro-macros et double-cliquez sur CallSelectByValue.

Avant d'exécuter la macro:

alt text

Après avoir exécuté la macro:

alt text

+0

Merci pour la réponse détaillée, vraiment l'apprécier. Encore une chose, comment pourrais-je afficher ou couper les lignes dans une autre feuille de calcul – vbNewbie