Come allineare le celle durante l’importazione da CSV

Mario lavora molto con i file CSV. Nel suo caso, i file CSV vengono creati da un’applicazione personalizzata e ha scoperto che può anche includervi delle formule. Pertanto, se una riga del file CSV contiene “,,,Totale:,=SOMMA(D5:D13),,,,” la formula viene valutata e tutto va bene. Una cosa che Mario vuole fare, tuttavia, è indicare nel file CSV come giustificare le singole celle dopo averle importate in Excel.

Non c’è modo di farlo in Excel: l’allineamento dei dati importati si basa sulle impostazioni predefinite del sistema, ovvero il testo è giustificato a sinistra e i numeri sono giustificati a destra. Un’opzione, tuttavia, sarebbe quella di aggiungere un carattere di prefisso che potresti successivamente “analizzare” con una macro per applicare l’allineamento desiderato. Ad esempio, potresti usare “<” per sinistra, “^” per centro e “>” per destra. Quando Excel importa i file CSV, i campi vengono trattati come testo. Puoi quindi eseguire questa macro per cercare il carattere di allineamento iniziale ed eseguire l’azione desiderata:

 

Sub SetJustification()
    Dim rCell As Range
    For Each rCell In ActiveSheet.UsedRange
        With rCell
            Select Case Left(.Value, 1)
                Case "<"
                    .Value = Mid(.Value, 2)
                    .HorizontalAlignment = xlHAlignLeft
                Case "^"
                    .Value = Mid(.Value, 2)
                    .HorizontalAlignment = xlHAlignCenter
                Case ">"
                    .Value = Mid(.Value, 2)
                    .HorizontalAlignment = xlHAlignRight
            End Select
        End With
    Next
    Set rCell = Nothing
End Sub

 

 

La macro controlla ogni cella del foglio di lavoro. Se la cella inizia con un carattere di allineamento, il carattere viene rimosso e viene applicato l’allineamento corretto.

 

 

Tags: , , , , , , , , , , , , , ,

Ti è stato utile?