Condividi:        

Come eliminare celle o righe vuote (senza macro).

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

Come eliminare celle o righe vuote (senza macro).

Postdi nelson1331 » 13/05/12 17:19

Vorrei spare se c'e' la possibilita' di eliminare le celle o le righe vuote, senza l' uso di macro ne' di ordinamenti e poi filtro.
Io avrei pensato ad assegnare ad ogni cella il suo riferimento, con la funzione indirizzo assoluto (Indirizzo).
Poi avrei in mente di utilizzare la funzione Piccolo o Grande che svolga il confronto sul contenuto (per individuare solo quelle diverse da ""), e crearmi una nuova lista ordinata, contenente righe aventi valori e bypassando le celle vuote.
E' possibile realizzare tutto questo ?
Grazie anticipatamente per la cortese risposta.
Nelson
nelson1331
Utente Junior
 
Post: 93
Iscritto il: 18/02/08 08:58

Sponsor
 

Re: Come eliminare celle o righe vuote (senza macro).

Postdi Anthony47 » 14/05/12 00:05

Ad esempio come descritto qui: viewtopic.php?t=90147#p513646
(dovrai modificare gli intervalli da orizzontale a verticale, e il rif.colonna in rif.riga)

E se non basta lo spunto pubblica il layout dei tuoi dati (se sono semplici basta uno screenshot, per come fare guarda qui: viewtopic.php?f=26&t=80395#p466013)

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

Re: Come eliminare celle o righe vuote (senza macro).

Postdi nelson1331 » 14/05/12 09:49

[img]: http://imageshack.us/photo/my-images/70 ... ighev.jpg/
Ciao Anthony47, ho fatto alcune prove ma, senza risultato.
Ti ho allegato il file.
I dati sono nel foglio Ope
Sono inseriti dalla cella A1-F84
Sono solo numeri.
Il risultato corretto, vorrei trovarlo, nelle caselle da H1-M84
Grazie ancora una volta.
Nelson
nelson1331
Utente Junior
 
Post: 93
Iscritto il: 18/02/08 08:58

Re: Come eliminare celle o righe vuote (senza macro).

Postdi Anthony47 » 14/05/12 21:20

In H1:
Codice: Seleziona tutto
=SE(RIF.RIGA(A1)<=CONTA.VALORI($A$1:$A$84);INDICE(A$1:A$84;PICCOLO(SE($A$1:$A$84<>"";RIF.RIGA($A$1:$A$84);"");RIF.RIGA(A1)));"")
Da confermare con Contr-Maiusc-Enter

Poi copia H1 fino a M1; infine copia H1:M1 verso il basso.

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

Re: Come eliminare celle o righe vuote (senza macro).

Postdi nelson1331 » 15/05/12 10:52

Grazie Anthony47, funziona tutto perfettamente.
Nelson
nelson1331
Utente Junior
 
Post: 93
Iscritto il: 18/02/08 08:58

Re: Come eliminare celle o righe vuote (senza macro).

Postdi nelson1331 » 19/05/12 19:59

Ciao Anthony47,
ho fatto delle prove anche sul link seguente (quello da te segnalato) per eliminare le celle vuote su una linea ma, non ottengo nulla.
Ad esempio come descritto qui: viewtopic.php?t=90147#p513646

Nella mia fattispecie, le celle vanno dalla A1-AD1 (30 celle contenenti solo numeri, ed inframmezzate vi sono le celle vuote).
Vorrei scrivere la riga corretta, partendo dalla cella A3 e poi, trascinerei la formula fino alla AD3.
Siccome sono solo numeri, posso sostituire la funzione conta.valori con la funzione conta.numeri ?
Si puo' inserire nella formula la funzione Val.err per eliminare in un unico passaggio le celle che segnalano errore ?
Anche nell' ordinamento verticale, rimanevano celle con errore, e vi ho sopperito con un 2° passaggio, usando val.err per eliminarle.
Grazie ancora per i suggerimenti che mi fornirai.
Nelson
nelson1331
Utente Junior
 
Post: 93
Iscritto il: 18/02/08 08:58

Re: Come eliminare celle o righe vuote (senza macro).

Postdi Anthony47 » 20/05/12 01:44

Quindi stiamo parlando di un layout dati diverso da quello che avevi pubblicato.
In questo caso puoi usare la formula che trovi nel messaggio che anche tu hai linkato, previo aggiornamento dell' intervallo dati (Foglio1!$A$4:$Q$4 in quella discussione, $A$1:$AD$1 nel tuo caso).
L' uso di Conta.Valori o Conta.Numeri e' ininfluente.

Puoi usare Se.Errore usando la sua sintassi; in pratica
Codice: Seleziona tutto
=Se.Errore(LaFormula;"")

Quando dici "non ottengo nulla", esattamente invece cosa ottieni?
Infine: ma tu sei sicuro che le celle che vuoi eliminare siano "vuote"?

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

Re: Come eliminare celle o righe vuote (senza macro).

Postdi nelson1331 » 20/05/12 07:26

Ciao Anthony47,
ti allego un file in cui spero tu possa vedere com' e' il layout e se ho scritto correttamente la formula.
http://img17.imageshack.us/img17/2567/e ... orizzo.jpg
Il precedente problema che mi avevi risolto, per l' eliminazione delle celle vuote in verticale e' a posto.
Le celle vuote ritengo siano tali, poiche' su ognuna ho premuto il tasto cancel.
In questo caso, dati di input e formule, sono applicati all' interno dello stesso foglio.
Mi scrive da A3-O3 la giusta quantita' dei numeri e cioe' 15 numeri ma ripete sempre il valore 18, che ha letto per la 1° volta in A1
Grazie ancora per le delucidazioni.
Nelson
nelson1331
Utente Junior
 
Post: 93
Iscritto il: 18/02/08 08:58

Re: Come eliminare celle o righe vuote (senza macro).

Postdi Anthony47 » 20/05/12 11:57

La formula che usi per la riga orizzontale (viewtopic.php?t=90147#p513646) e' piu' sofisticata di quella che ti ho dato per la gestione dei dati in verticale (viewtopic.php?f=26&t=95476#p547133), perche' e' una "vera" formula matrice; essa va introdotta su tutto l' intervallo, non copiata dalla prima alle altre celle.
Fai cosi': scrivi la formula in A3 (Contr-Maiusc-Enter); poi seleziona A3:AD3; permi F2 (edit); conferma la formula con Contr-Maiusc-Enter. La corretta esecuzione comporta, ad esempio, che non puoi editare la singola cella (prova a cancellarne una...) ma solo l' intero intervallo.

Se vuoi che la formula per i dati verticali si comporti allo stesso modo modificala in
Codice: Seleziona tutto
=SE(RIF.RIGA(A1)<=CONTA.VALORI($A$1:$A$84);INDICE(A$1:A$84;PICCOLO(SE($A$1:$A$84<>"";RIF.RIGA($A$1:$A$84);"");RIF.RIGA(A$1:A$84)));"")
(ovviamente Contr-Maiusc-Enter)

Le versioni "vere formule matrice", quelle che si applicano (non "si copiano") su piu' celle, non sono piu' veloci a calcolarsi di quelle "finte matrice", ma danno la certezza che tutte le celle dell' intervallo sono calcolate con lo stesso criterio; quindi piu' che altro difendono dalla distrazione.

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

Re: Come eliminare celle o righe vuote (senza macro).

Postdi nelson1331 » 20/05/12 16:08

Ciao Anthony47, dopo aver fatto alcuni tentativi (poiche' e' piu' complessa della precedente), ci sono riuscito.
Grazie.
Nelson
nelson1331
Utente Junior
 
Post: 93
Iscritto il: 18/02/08 08:58

Re: Come eliminare celle o righe vuote (senza macro).

Postdi Wiccio » 31/05/12 17:23

Ciao Anthony47.
Anche io come nelson1331 ho la necessità di eliminare le righe vuote dal mio file. Anzi, parzialmente vuote. Ho provato ad adattare alla mia situazione le formule che hai cortesemente reso pubbliche ma non sono riuscito a utilizzarle. Vorrei farti vedere lo screen del mio foglio di lavoro: http://img37.imageshack.us/img37/3206/screenyps.png Attualmente le mie righe parzialmente "vuote" hanno la dicitura NONE nella colonna A in quanto è il risultato di una formula ma posso fargli assegnare "" anziché NONE, non è un problema. Avrei bisogno che il contenuto delle colonne da A fino a R mi venga copiato in un nuovo foglio di lavoro saltando le righe che, appunto, nella colonna A sono vuote. Ancora meglio, piuttosto che copiarlo in un nuovo foglio di lavoro, mi sarebbe più comodo che venissero copiate nella prima riga parzialmente vuota disponibile ma se non è possibile farlo senza utilizzare macro fa nulla. Esempio:

A1: marco B1: 34
A2: NONE B2: 37
A3: pietro A3: 765

dovrebbe diventare:

A1: marco B1: 34
A2: pietro B2: 765
A3: B3:

Attendo un vostro cortere riscontro. Grazie per l'attenzione e per l'eventuale risposta.
Wiccio
Newbie
 
Post: 7
Iscritto il: 31/05/12 16:24

Re: Come eliminare celle o righe vuote (senza macro).

Postdi Anthony47 » 31/05/12 21:31

Ciao Wiccio, benvenuto nel forum.
Forse piu' che la presente discussione e' quest' altra che fa al caso tuo: viewtopic.php?f=26&t=95675#p548504
La macro pubblicata da danny72 dovrebbe fare quello che chiedi, con l' ovvia sostituzione di If Range("B" & RR).value = "M03" con If Range("B" & RR).value = "NONE"
Credo che sia MOLTO OPPORTUNO, tuttavia, che queste cancellazioni siano fatte su una COPIA del foglio; per questo sostituisci la riga
Worksheets("Foglio1").select ' Seleziona il foglio che ti interessa (Foglio1 in questo caso)
con l' istruzione
Codice: Seleziona tutto
    Sheets("Foglio1").Copy After:=Sheets(ThisWorkbook.Worksheets.Count)  '<<< Usare il Vero Nome Foglio
    ActiveSheet.Name = "ZCZC_01"   'Nota *1

Nota*1: Probabilmente sara' necessario eliminare il foglio creato (ZCZC_01); per questo potrai usare l' istruzione
Codice: Seleziona tutto
Sheets("ZCZC_01").Delete


Fai sapere, ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19223
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Come eliminare celle o righe vuote (senza macro).

Postdi Wiccio » 06/06/12 11:23

Grazie mille Anthony47 per la tua risposta.
Mi leggo qualche guida a riguardo dell'implementazione di VB su Excel (non ho mai utilizzato le macro) e ti saprò dire se abbiamo raggiunto l'obiettivo! :)
Wiccio
Newbie
 
Post: 7
Iscritto il: 31/05/12 16:24

Re: Come eliminare celle o righe vuote (senza macro).

Postdi Wiccio » 25/06/12 11:57

Ti ringrazio immensamente, Anthony47, il codice funziona perfettamente e finalmente mi sono addentrato nel discorso 'macro' che fino a oggi avevo sempre snobbato! :P
Wiccio
Newbie
 
Post: 7
Iscritto il: 31/05/12 16:24

Re: Come eliminare celle o righe vuote (senza macro).

Postdi Wiccio » 16/07/12 10:05

Ciao, sono di nuovo io!
Un ultimo appunto: il codice Sheets("ZCZC_01").Delete cancella il foglio di lavoro ZCZC_01, e fin qui ci siamo, ma se io volessi eliminare tale foglio solamente se presente nel mio file excel? Che comando devo inserire prima che parta il ciclo for?

In parole povere: se il foglio ZCZC_01 esiste, cancellalo.

Questo comando mi serve in quanto se avvio due volte la funzione, la seconda volta mi dice che non è possibile creare un ulteriore foglio con il nome ZCZC_01 in quanto ne esiste già uno.

Grazie nuovamente per il vostro supporto e per la vostra pazienza immane! ;)
Wiccio
Newbie
 
Post: 7
Iscritto il: 31/05/12 16:24

Re: Come eliminare celle o righe vuote (senza macro).

Postdi Flash30005 » 16/07/12 11:04

Esatto un ciclo for next del tipo...

Codice: Seleziona tutto
Sub CancFoglio()
NomeF = "ZCZC_01 "
For I = 1 To Worksheets.Count
    If Sheets(I).Name = NomeF Then
        Application.DisplayAlerts = False
        Sheets(NomeF).Delete
       Application.DisplayAlerts = True
    End If
 Next I
End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-


Torna a Applicazioni Office Windows


Topic correlati a "Come eliminare celle o righe vuote (senza macro).":


Chi c’è in linea

Visitano il forum: Nessuno e 49 ospiti