Condividi:        

Nascondere riga se valore zero in cella della stessa riga

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

Nascondere riga se valore zero in cella della stessa riga

Postdi CowboyBebop » 15/05/18 15:53

Ciao a tutti è il primo messaggio sul forum, premetto che ho provato pure io a cercare e ad adattare soluzioni simili al mio problema nel vba.

Cerco di spiegare in maniera più chiara possibile il mio file. Se necessario ve lo faccio pervenire.

Ho un file excel (tra l'altro creato da altri), si tratta di un elenco di forniture che crea un preventivo di acquisto.

Alla colonna G (in vari intervalli, ad esempio G53:G82) ci sono i valori che la persona incaricata può mettere o meno; quando inserisce un valore diverso da 0 la cella cambia colore, io vorrei che se il valore che inserisce è 0 la riga si nascondesse in fase di stampa o comunque che fosse possibile rivederla per cambiare i valori.
Ho necessità poi che l'excel venga chiuso e che chi inserisca questi valori non possa modificare la descrizione delle celle.

Sono ore che provo ma ottengo solo il risultato di nascondere le celle con valore uguale a 0 ma poi non riesco più a modificargli il valore, qualcuno può aiutarmi?
CowboyBebop
Utente Junior
 
Post: 14
Iscritto il: 15/05/18 15:44

Sponsor
 

Re: Nascondere riga se valore zero in cella della stessa rig

Postdi alfrimpa » 16/05/18 10:19

Ciao Cowboy

Direi che in questo caso un file di esempio è quanto meno necessario.

Allegalo spiegando su questo quello che vuoi fare.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Nascondere riga se valore zero in cella della stessa rig

Postdi CowboyBebop » 16/05/18 13:22

Ciao Alfredo intanto grazie per l'aiuto.

https://drive.google.com/file/d/1KQ3xaU ... sp=sharing

Allego il file (senza macro); quello che vorrei è che nelle opzioni di scelta se metto il valore "0" la riga si nascondesse in automatico in modo da rendere poi il file di stampa più corto e quindi leggibile, ma allo stesso tempo vorrei poter - se necessario - tornare indietro cosa che non mi permette. In più come dicevo ho la necessità di far lavorare l'utente che compilerà i campi in "sola lettura" in modo che non li possa modificare.
Al momento sul file con macro, ho inserito questo codice, che effettivamente mi fa nascondere le righe nel momento in cui il valore è zero ma poi non riesco a tornare indietro ed eventualmente modificare il valore in caso ci fosse un errore.
Spero di essermi spiegato bene, non è proprio il mio campo...

'--------->>
Private Sub Worksheet_Calculate()
Dim Rng As Range, rCell As Range
Const sCelle As String = "G53:G82,G87:G89,G95:G101,G110:G115,G124:G125,G136:G138"

Set Rng = Me.Range(sCelle)

On Error GoTo 0
Application.EnableEvents = False
For Each rCell In Rng.Cells
With rCell
.EntireRow.Hidden = .Value = 0
End With
Next rCell
XIT:
Application.EnableEvents = True
End Sub
'<<=========
CowboyBebop
Utente Junior
 
Post: 14
Iscritto il: 15/05/18 15:44

Re: Nascondere riga se valore zero in cella della stessa rig

Postdi alfrimpa » 16/05/18 14:23

Allega il file sul filedropper.

drive.google mi richiede la creazione di un account
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Nascondere riga se valore zero in cella della stessa rig

Postdi CowboyBebop » 16/05/18 14:37

CowboyBebop
Utente Junior
 
Post: 14
Iscritto il: 15/05/18 15:44

Re: Nascondere riga se valore zero in cella della stessa rig

Postdi alfrimpa » 16/05/18 14:48

Ok ma dovresti farmi vedere come vuoi che il foglio1 sia visualizzato in stampa.

Io ho ipotizzato che tu voglia nascondere le righe che in colonna G non abbiano un valore.

No so se sia corretto.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Nascondere riga se valore zero in cella della stessa rig

Postdi alfrimpa » 16/05/18 15:12

Ok credo di aver capito

Prova con questa macro da inserire nel modulo di Questa_cartella_di_lavoro che va in esecuzione quando mandi in stampa la cartella di lavoro

Codice: Seleziona tutto
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim rng As Range
Dim cel As Range
Set rng = Union("G53:G82", "G87:G89", "G95:G101", "G110:G115", "G124:G125", "G136:G138")
For Each cel In rng
    If cel.Value = "" Then
        cel.EntireRow.Hidden = True
    End If
Next cel
End Sub


Non c'è bisogno di mettere uno 0 in colonna G basta che lasci la cella vuota.

Per ripristinare la visualizzazione di tutte le righe credo possa bastare una macro come questa (magari da abbinare ad un pulsante)

Codice: Seleziona tutto
Sub RipristinaRighe()
Sheets("Foglio1").Cells.EntireRow.Hidden = False
End Sub
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Nascondere riga se valore zero in cella della stessa rig

Postdi alfrimpa » 16/05/18 15:21

O ancora con questa macro "normale" che fa tutto

Codice: Seleziona tutto
Sub StampaSintetica()
Dim rng As Range
Dim cel As Range
Set rng = Union("G53.G82", "G87:G89", "G95:GG101", "G110:G115", "G124:G125", "G136:G138")
For Each cel In rng
    If cel.Value = "" Then
        cel.EntireRow.Hidden = True
    End If
Next cel
ActiveSheet.PrintOut
Sheets("Foglio1").Cells.EntireRow.Hidden = False
End Sub
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Nascondere riga se valore zero in cella della stessa rig

Postdi alfrimpa » 16/05/18 16:04

Scusa non tenere conto della precedente macro

Usa questa

Codice: Seleziona tutto
Sub StampaSintetica()
Dim rng As Range
Dim cel As Range
Set rng = Union(Range("G53:G82"), Range("G87:G89"), Range("G95:G101"), Range("G110:G115"), Range("G124:G125"), Range("G136:G138"))
For Each cel In rng
    If cel.Value = "" Then
        cel.EntireRow.Hidden = True
    End If
Next cel
ActiveSheet.PrintOut
Sheets("Foglio1").Cells.EntireRow.Hidden = False
End Sub
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Nascondere riga se valore zero in cella della stessa rig

Postdi CowboyBebop » 16/05/18 16:20

Non funziona, evidentemente sono io che sto sbagliando qualcosa, ti ringrazio per la pazienza :cry: ; l'idea del bottone collegato alla macro sarebbe perfetto, un bottone che ripristini le righe nascoste o la situazione iniziale.
Attualmente è così, Mot m è come è chiamato il Foglio1, ho collegato il bottone alla macro ma non funziona, le righe rimangono nascoste. Dove sbaglio?


Private Sub Worksheet_Calculate()
Dim Rng As Range, rCell As Range
Const sCelle As String = "G53:G82,G87:G89,G95:G101,G110:G115,G124:G125,G136:G138" '<<=== Modifica con intervalli di riga

Set Rng = Me.Range(sCelle)

On Error GoTo 0
Application.EnableEvents = False
For Each rCell In Rng.Cells
With rCell
.EntireRow.Hidden = .Value = 0
End With
Next rCell
XIT:
Application.EnableEvents = True
End Sub
'<<=========
Sub RipristinaRighe()
Sheets("Mot m").Cells.EntireRow.Hidden = False
End Sub
CowboyBebop
Utente Junior
 
Post: 14
Iscritto il: 15/05/18 15:44

Re: Nascondere riga se valore zero in cella della stessa rig

Postdi alfrimpa » 16/05/18 18:19

Prova a vedere questo file allegato.

http://www.filedropper.com/cowboy

Al momento fa l'anteprima di stampa.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Nascondere riga se valore zero in cella della stessa rig

Postdi CowboyBebop » 18/05/18 10:12

Beh complimenti! Pare proprio fare al caso mio! Grazie ancora!
CowboyBebop
Utente Junior
 
Post: 14
Iscritto il: 15/05/18 15:44

Re: Nascondere riga se valore zero in cella della stessa rig

Postdi CowboyBebop » 18/05/18 14:29

Posso chiederti l'ultima cosa?

Se volessi stampare Foglio1 e Foglio2 attraverso quella macro, chiaramente dovrei cambiare i Range del Foglio2, ma come verrebbe il codice?
CowboyBebop
Utente Junior
 
Post: 14
Iscritto il: 15/05/18 15:44

Re: Nascondere riga se valore zero in cella della stessa rig

Postdi CowboyBebop » 21/05/18 17:06

Non capisco come mai, la macro che mi hai fornito Alfredo smette di funzionare se nella riga ci sono delle immagini :-?
CowboyBebop
Utente Junior
 
Post: 14
Iscritto il: 15/05/18 15:44

Re: Nascondere riga se valore zero in cella della stessa rig

Postdi alfrimpa » 21/05/18 18:22

Allega il file di esempio.

Con le immagini le cose possono complicarsi.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Nascondere riga se valore zero in cella della stessa rig

Postdi CowboyBebop » 22/05/18 13:51

Ecco qui, non capisco come mai mi faccia vedere solo un'immagine e le altre no, mi pare che abbiano gli stessi parametri...
Quello che vorrei ottenere è che si vedano le immagini della riga selezionata, mentre ovviamente quelle nelle righe deselezionate non vengano visualizzate.

http://www.filedropper.com/cowboy_1
CowboyBebop
Utente Junior
 
Post: 14
Iscritto il: 15/05/18 15:44

Re: Nascondere riga se valore zero in cella della stessa rig

Postdi CowboyBebop » 29/05/18 11:36

Mi rispondo da solo, dopo essere impazzito alcuni giorni scopro che è solo l'anteprima di stampa di excel che dà problema, se si procede alla stampa le immagini si vedono correttamente.
CowboyBebop
Utente Junior
 
Post: 14
Iscritto il: 15/05/18 15:44


Torna a Applicazioni Office Windows


Topic correlati a "Nascondere riga se valore zero in cella della stessa riga":

BTp Valore
Autore: MarioLombardi
Forum: Forum off-topic
Risposte: 2

Chi c’è in linea

Visitano il forum: Nessuno e 31 ospiti