Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Cancellare N righe in tabella

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: Cancellare N righe in tabella

Postdi marte1503 » 25/07/11 22:16

Ciao Avatar3

Ho inserito la tua modifica ma il problema è rimasto.

Sono comunque riuscito a risolvere il problema con una mezza furbata..

Avevo notato che la macro riusciva ad eliminare le righe vuote prima della riattivazione della protezione, soltanto se si trovavano vicine.
..A qesto punto mi è venuta l'idea di filtrare i dati, così facendo le righe rimaste vuote si raggruppano ai piedi della tabella e all'atto della riattivazione della protezione vengono eliminate correttamente. :D

Questa la macro:

Codice: Seleziona tutto
Application.ScreenUpdating = False
    ActiveSheet.Unprotect
    Range("Tabella1[#Headers]").Select
    Selection.Copy
    Range("Tabella1").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("A8:D8").Select
    Selection.ListObject.ListRows(1).Delete
    Range("A5:D5").Select
    Selection.Locked = False
    Selection.FormulaHidden = False
    Range("Tabella1[Mese]").Select
    ActiveWorkbook.Worksheets("Foglio4").ListObjects("Tabella1").Sort.SortFields. _
        Clear
    ActiveWorkbook.Worksheets("Foglio4").ListObjects("Tabella1").Sort.SortFields. _
        Add Key:=Range("Tabella1[Mese]"), SortOn:=xlSortOnValues, Order:= _
        xlAscending, CustomOrder:= _
        "gennaio,febbraio,marzo,aprile,maggio,giugno,luglio,agosto,settembre,ottobre,novembre,dicembre" _
        , DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Foglio4").ListObjects("Tabella1").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    On Error Resume Next<<<<<<<<<<<<errore di run.time 1004 (errore nel metodo delete per la classe range
    Sheets("Foglio4").Select
    UR = Range("D" & Rows.Count).End(xlUp).Row - 1
If UR < 7 Then UR = 7
    Range("A7:D" & UR).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    Range("A5").Select
    On Error GoTo 0
    Range("Tabella1").Select
    Selection.Locked = True
    Range("A5").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    Application.ScreenUpdating = True
End Sub


Grazie per le svariate dritte
Marte1503
marte1503
Utente Senior
 
Post: 174
Iscritto il: 08/01/10 20:43
Località: Como

Sponsor
 

Re: Cancellare N righe in tabella

Postdi Avatar3 » 25/07/11 23:04

Strano che selezionando il range non funzioni
Comunque l'importante è che abbia risolto
:)
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "Cancellare N righe in tabella":


Chi c’è in linea

Visitano il forum: cromagno e 8 ospiti