web-dev-qa-db-fra.com

VBA pour chaque cellule au format de plage en pourcentage

J'ai cherché autour de cela et cela semble si simple, mais je ne peux pas le faire fonctionner.

J'ai un tableau et une colonne doit être formatée en pourcentage. Ci-dessous est mon code mais il ne met pas en forme les cellules, il les laisse juste comme décimales.

Je pense que c'est parce que cell, même s'il est déclaré comme une plage, est en fait la valeur de la cellule, donc je ne sais pas comment faire référence à cette plage.

Ma variable returnRebate est déclarée comme une plage et la boucle fait une boucle à travers la plage correcte.

Code:

Dim cell As Range, p As Double
For Each cell In returnRebate
    p = cell.Value

    If p <> 0 And p > 1 Then
        p = p * 0.01
        cell.Value = p
        cell.NumberFormat = "Percent"    'Not formatting here
     ElseIf p < 1 And p > 0 Then
        'do nothing to it
    Else
        cell.Value = vbNullString
    End If
Next
5
anonymous

Essayez de remplacer .NumberFormat='Percent' avec .NumberFormat="0.00%"

13
RyanL