io ho realizzato (tramite registrazione) questa semplice macro... il problema è che essa deve agire sui dati filtrati (ossia quelli visibili) e non su tutto il foglio...
nel documento in cui ho registrato la macro.. essa prima cancella il contenuto delle celle (E12:G12) e quindi riordina il contenuto delle colonne E:G...
il problema è che se io applico questa macro ad un altro set di dati... essa mi cancella sempre le celle (E12:G12)... mentre io voglio che mi cancelli la celle (E?:G?).. dove il ? rappresenta la prima riga filtrata del foglio (escludendo ovviamente l'intestazione).. che ovviamente non sarà sempre la riga 12...
- Codice: Seleziona tutto
Sub cancella()
'
' cancella Macro
'
'
Range("E12:G12").Select
Selection.ClearContents
Columns("E:G").Select
ActiveWorkbook.Worksheets("conferma").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("conferma").Sort.SortFields.Add Key:=Range( _
"E2:E1500"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("conferma").Sort.SortFields.Add Key:=Range( _
"F2:F1500"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("conferma").Sort
.SetRange Range("E11:G1500")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("U1").Select
End Sub