2017-03-20 3 views
1

Je dispose d'un format Excel qui ressemble à ceci:Excel VBA: Copier et coller des valeurs en double basées sur le format de la police

enter image description here

Ce que je besoin est un code VBA dans Excel qui va lire toutes les données Colonne A et recherchez tout texte en italique, puis vérifiez s'il contient des données en double dans la même colonne. Si oui, que les données seront écrites sur la colonne B.

C'est ce que j'ai jusqu'à présent:

Sub FillDuplicates() 
    Dim lastrow As Long 
    lastrow = Cells(Rows.Count, "A").End(xlUp).Row 'find last row in column A 

    For x = 1 To lastrow 
     If Cells(x, 2).Value <> "" Then 'Check if cell in column B is empty 
      For y = 1 To lastrow 
       If Cells(y, 1).Value = Cells(x, 1).Value Then 'Compares cell against each value in column A 
        Cells(y, 2).Value = Cells(x, 2).Value 'If matches, add value in column B 
       End If 
      Next y 
     End If 
    Next x 
End Sub 
+1

besoin de vous dire que StackOverflow n'est pas une écriture de code libre un service. Qu'avez-vous essayé jusqu'ici? Pouvez-vous nous montrer votre code? –

+0

Bonjour, @Peh. Voilà ce que j'ai jusqu'à présent. Sous FillDuplicates() Dim LastRow As Long LastRow = cellules (Rows.Count, "A") End (xlUp) .Row « trouve la dernière ligne dans la colonne A Pour x = 1 Pour lastrow Si Cells (x, 2) .Value <> "" Then 'Vérifiez si la cellule de la colonne B est vide Pour y = 1 Pour lastrow Si cellules (y, 1) .Value = Cells (x , 1) .Value Then 'Compare la cellule avec chaque valeur de la colonne A Cellules (y, 2) .Value = Cellules (x, 2) .Value' Si correspond, ajoute une valeur dans la colonne B Fin Si Suivante Fin Si Prochain x End Sub – user3445540

+1

Je veux juste savoir s'il existe un moyen d'identifier si le texte est en italique? – user3445540

Répondre

1

Essayez

If Cells(x, 2).Value <> "" and Cells(x, 2).Font.Italic = true then