2017-05-29 3 views
0

J'ai créé une feuille de calcul avec 3 feuilles:Code Excel VBA pour mettre en évidence des lignes pour une cellule spécifique

Sheet1 - Search Sheet2 - Add Data Sheet3 - Database

Je veux créer un bouton (mise à jour) pour mettre en évidence les lignes (vert) pour la valeur de la cellule D4 Sheet1 et les lignes en surbrillance dans Sheet3 (dans la colonne 1 j'ai des données que j'ai besoin d'insérer en D4 pour mettre en surbrillance). J'ai créé un bouton, mais à chaque fois que mettre en évidence la dernière ligne de Feuil3

Private Sub MDAno_Click() 
currentrow = Sheet3.Cells(1, 1).CurrentRegion.Rows.Count 

If Len(Range("D4")) <> 0 Then 

Sheet3.Cells(currentrow, 498) = "Investigating" 

End If 

End Sub 

J'ai une condition dans Feuil3 (si j'ai « enquête » dans la colonne 498 ligne en surbrillance). Quelqu'un peut-il m'aider avec ça? Merci

+0

colonne Mettez en surbrillance une sur Feuil3 basée sur la valeur D4 sur Sheet1? Si c'est votre exigence, que fait votre code? – sktneer

+0

Une raison pour laquelle vous voudriez VBA? Cela peut être fait en utilisant un formatage conditionnel. –

+0

J'ai besoin d'un bouton parce que le numéro d'identification qui est recherché dans la cellule D4 pour marquer comme complet ou sous enquête. Je sais est possible avec le formatage conditionnel. – George

Répondre

0

Bien qu'il puisse être réalisé avec une simple mise en forme conditionnelle, voici ce que vous essayez d'atteindre ...

Private Sub MDAno_Click() 
Dim lr As Long, i As Long 
Dim ID 
lr = Sheet3.Cells(1, 1).CurrentRegion.Rows.Count 
ID = Sheet1.Range("D4").Value 
If ID <> "" Then 
    For i = 2 To lr 
     If Sheet3.Range("A" & i) = ID Then 
      Sheet3.Cells(i, 498) = "Investigating" 
     Else 
      Sheet3.Cells(i, 498) = "" 
     End If 
    Next i 
End If 
End Sub 
+0

cela fonctionne mais avec un problème, si je recherche une valeur différente sur D4 avant que j'appuie sur le bouton, juste surligner la valeur actuelle sur Sheet3. La dernière valeur en surbrillance sera mise en surbrillance. – George

+0

Dans ce cas, supprimez la condition else qui est Else Sheet3.Cells (i, 498) = "" – sktneer

+0

Cela fonctionne. Merci – George