- Codice: Seleziona tutto
Sub Sistema_dati()
' Sistema_dati Macro
Cells.Select
Cells.EntireColumn.AutoFit
With Selection.Font
.ColorIndex = xlAutomatic
.TintAndShade = 0
End With
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Selection.Font.Bold = True
Selection.Font.Bold = False
With Selection.Font
.Name = "Arial"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
With Selection.Font
.Name = "Courier New"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
Range("B:B,O:O").Select 'la colonna B andrà sempre rimossa. La colonna O non è detto che sia l'ultima, per questo vorrei che la macro leggesse qual'è l'ultima colonna con valori e la elimini.
Range("O1").Activate
Selection.Delete Shift:=xlToLeft
Range("A2").Select
Selection.End(xlDown).Select
ActiveWindow.SmallScroll Down:=18
Columns("A:A").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A3").Select
End Sub
Inoltre vorrei che la macro leggesse qual'è l'ultima riga con valori ed eliminasse sia l'ultima riga che la penultima.
Normalmente i dati esportati dal programma occupano le colonne dalla A alla O (prima dell'esecuzione della macro), mentre le righe possono variare ma partono sempre dalla riga 2. E' possibile che all'interno di questo range ci siano delle celle vuote.
Quindi, dopo aver eseguito la formattazione e la eliminazione delle colonne e delle righe che non servono, vorrei, se possibile, inserire nelle celle vuote il valore 0 .
Spero di essere stato abbastanza felice nella spiegazione. Vi ringrazio sin d'ora per il vostro aiuto.
fastbike73