Ciao KingAnto e benvenuto nel Forum
Ho considerato la colonna "A" come colonna con dati se non è così cambia il nome alla colonna nella macro
in un modulo inserisci questo codice
- Codice: Seleziona tutto
Sub AllineaD()
UR = Range("A" & Rows.Count).End(xlUp).Row '<<<< cambiare qui il nome colonna
Columns("A:A").HorizontalAlignment = xlLeft '<<<< cambiare qui il nome colonna
For RR = 1 To UR
If Range("A" & RR).Value = 0 And Val("A" & RR) = 0 Then Range("A" & RR).HorizontalAlignment = xlRight '<<<< cambiare qui il nome colonna
Next RR
End Sub
e nel vba del foglio inserisci questo codice
- Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
UR = Range("A" & Rows.Count).End(xlUp).Row '<<<< cambiare qui il nome colonna
CheckArea = "A1:A" & UR '<<<< cambiare qui il nome colonna
If Application.Intersect(Target, Range(CheckArea)) Is Nothing Then Exit Sub
AllineaD
End Sub
Al variare di un dato nella colonna "A" avrai gli zero a destra e tutto il resto a sinistra
Con aggiornamenti automatici non saprei se la macro si attiva (dipende dal tipo di aggiornamento dat)
nel caso abbina la macro ad un tasto di scelta rapida (opzioni macro)
Ciao