Condividi:        

elimiare righe se dato di una cella è maggiore di 0

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

elimiare righe se dato di una cella è maggiore di 0

Postdi remagno » 27/04/17 13:19

buongiorno a tutti
considerando che non sono poco pratico di excel avrei bisogno del vostro aiuto
ho da eliminare delle righe da un foglio solo se il risultato di una cella è maggiore di 0 come posso fare
ps. non so come si inseriscono macro dunque dovrete avere un pò di pazienza

ciao a tutti
remagno
Newbie
 
Post: 3
Iscritto il: 27/04/17 13:15

Sponsor
 

Re: elimiare righe se dato di una cella è maggiore di 0

Postdi wallace&gromit » 27/04/17 15:11

Ho provato ad adattare quanto presentato in questa discussione:http://www.pc-facile.com/forum/viewtopic.php?f=26&t=107707&p=631718&hilit=eliminare+righe#p631718

Prima di tutto fai una copia di backup del tuo file (meglio 4 copie direbbe Anthony)
Ora copia quanto segue nel riquadro sottostante, apri excel, premi i tasti Alt + F11
a sinistra troverai la struttura del tuo file, fai clic destro sulla scritta VBAProject (...il nome del tuo file) e scegli "inserisci modulo", si aprirà un riquadro bianco nel settore principale, incolla la macro.
Modifica se necessario il valore della colonna in cui si trova il valore da controllare (A = 1, B =2, ecc.).
Premi sul triangolino verde a mo' di freccia nella barra dei menu e... guarda di nascosto l'effetto che fà (come cantava Jannacci)

Codice: Seleziona tutto
Option Explicit
Option Compare Text

Sub CancellaRighe()
    Dim UR As Long, I As Long, J As Long, Messaggio As String, Testo_per_Eliminare As String
    UR = Range("A" & Rows.Count).End(xlUp).Row
    J = 0
    Col = 1   ' colonna in cui si trova il valore da controllare
    Application.ScreenUpdating = False
   
    For I = UR To 2 step -1
        If Sheets("Sheet1").Cells(I, Col).Value > 0    '<<verificare che si lavora sul primo foglio
            Sheets("Sheet1").Cells(I, Col).EntireRow.Delete
            J = J + 1
        End If
   
    Next I
 
    Application.ScreenUpdating = True
   
    If J > 0 Then
        Messaggio = "Sono state eliminate:  " & J & "  righe"
    Else
        Messaggio = "Non sono state eliminate righe"
    End If
    MsgBox Messaggio
End Sub
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: elimiare righe se dato di una cella è maggiore di 0

Postdi remagno » 27/04/17 15:30

grazie mille
chiaramente se elimino/nascondo righe tutto il testo non mi rimane più centrato alla pagina come posso fare per bloccarlo??
remagno
Newbie
 
Post: 3
Iscritto il: 27/04/17 13:15

Re: elimiare righe se dato di una cella è maggiore di 0

Postdi wallace&gromit » 27/04/17 15:55

Non sono sicuro di avere capito l'ultimo quesito.
Se vuoi che i tuoi dati siano sempre allineati al centro del foglio stampato, vai su stampa / Imposta pagina /Margini e metti il visto su Allinea al centro della pagina verticalmente.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: elimiare righe se dato di una cella è maggiore di 0

Postdi patel » 28/04/17 09:50

remagno, allega un link ad un file di esempio inserendo anche un foglio col risultato desiderato
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: elimiare righe se dato di una cella è maggiore di 0

Postdi remagno » 28/04/17 16:48

grazie a tutti sono riuscito a risolvere il problema di eliminare le rigghe se il valore è = 0
con questo:
Private Sub Worksheet_Activate()
If Sheets("riep_acq").Range("B16") = 0 Then
Rows("494:501").Hidden = False
Else
Rows("494:501").Hidden = True
End If
'
If Sheets("riep_acq").Range("B21") = 0 Then
Rows("530:537").Hidden = False
Else
Rows("530:537").Hidden = True
End If
'
If Sheets("riep_acq").Range("B16") = 0 Then
Rows("252:255").Hidden = False
Else
Rows("252:255").Hidden = True
End If
'
If Sheets("riep_acq").Range("B21") = 0 Then
Rows("262:265").Hidden = False
Else
Rows("262:265").Hidden = True
End If

End Sub


ma come dicevo eliminando le righe tutto il manuale mi sballa dunque adesso devo inserire tante righe vuote quante ne ho tolte vi allego link per vedere file
https://www.dropbox.com/s/fb2srez03mrhg ... .xlsm?dl=0
nel foglio riep_acq se inserisco nella casella b16 o b21 un numero maggiore di 0 le righe da 252 a 255 da 262 a 265 da 494 a 501 e da 530 a 537 del foglio manuale(2) spariscono , ma quando vado a stampare il tutto mi viene sballato , tenete conto che c'è l'intestazione di pagina , mi viene da dire che come tolgo dovrei aggiungere righe vuote per compensare

ciao ciao
remagno
Newbie
 
Post: 3
Iscritto il: 27/04/17 13:15

Re: elimiare righe se dato di una cella è maggiore di 0

Postdi patel » 28/04/17 17:16

non ho capito, tu non hai eliminato righe, le hai solo nascoste.
Se non le vuoi eliminare potresti cancellarne il contenuto con clearcontents
patel
Utente Senior
 
Post: 309
Iscritto il: 24/04/12 16:03

Re: elimiare righe se dato di una cella è maggiore di 0

Postdi enrico43 » 28/04/17 18:13

Dovresti inserire il numero pagina nella stampa e dire da dove e/o quali pagine sballano. Se poi è una questione delle tabelle giallo-verdi o altro che vengono tagliate, esiste anche "Inserisci interruzione di pagina" per ricentrarle. O sposta in alto, se tutto quello spazio vuoto a inizio pagine è libero.
enrico43
Utente Senior
 
Post: 208
Iscritto il: 13/09/14 15:33
Località: Fiumicino

Re: elimiare righe se dato di una cella è maggiore di 0

Postdi Anthony47 » 29/04/17 01:51

Sposo il suggerimento di Enrico: inserisci delle interruzioni di pagine dove vuoi che la pagina si interrompa anche se hai nascosto un tot di righe. In questo modo non devi ne' aggiungere righe quando ne nascondi un tot ne' ricancellarle quando le righe vengono rivisualizzate.
Questo puo' essere limitato alle 4-5 pagine immediatamente successive alle righe interessate dal gioco "a nascondino".

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "elimiare righe se dato di una cella è maggiore di 0":


Chi c’è in linea

Visitano il forum: Nessuno e 75 ospiti