Condividi:        

[Excel] Copiare cella su celle sottostanti

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

[Excel] Copiare cella su celle sottostanti

Postdi Venerdi » 02/09/09 15:28

Un saluto a tutto il forum... 8)

Il quesito questa volta è il seguente:

Premesso che il problema non si porrebbe nel caso di pochi records, mi interessa trovare il sistema per risolvere la questione su aree piuttosto ampie del foglio.
Pongo il quesito riferendomi ad una sola colonna...
Poniamo che nella cella A1 io abbia un testo od un numero, poi, ad esempio, che da A2 ad A6 io abbia celle vuote. Poi in A7 un altro testo o numero; celle vuote da A8 ad A25; poi in A26 un altro testo o numero.... e così via per migliaia di celle a scendere.
Mi servirebbe una macro che automaticamente, iniziando da A1, copi il contenuto di A1 in tutte le celle sottostanti fino all'ultima libera dell'intervallo vuoto che segue, ovvero copi A1 in A2:A6, poi, continui a scendere copiando A7 in A8:A25 e così via...
Non posso farlo manualmente perchè impiegherei un sacco di tempo, trattandosi di molte colonne ed alcune decine di migliaia di righe. Peraltro, nel caso di più colonne, le celle piene sono sfalsate, quindi non posso neanche ragionare sulle righe.
Le celle piene possono variare da situazione a situazione, quindi il metodo deve funzionare a prescindere.

Grazie per l'attenzione
V.
Avatar utente
Venerdi
Utente Junior
 
Post: 63
Iscritto il: 18/03/02 20:05
Località: Roma

Sponsor
 

Re: [Excel] Copiare cella su celle sottostanti

Postdi Flash30005 » 02/09/09 17:20

Ciao Venerdì
prova questa macro
Codice: Seleziona tutto
Sub Compila()
Application.ScreenUpdating = False
Application.Calculation = xlManual
UC = Worksheets("foglio1").Range("A1").End(xlToRight).Column
For CC = 1 To UC
UR = Worksheets("Foglio1").Cells(Rows.Count, CC).End(xlUp).Row
    For RR = 1 To UR
        If Worksheets("foglio1").Cells(RR, CC).Value = "" Then Cells(RR - 1, CC).Copy Destination:=ActiveSheet.Cells(RR, CC)
    Next RR
Next CC
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub

Conta le colonne (inizia da A1 verso destra, quindi la riga 1 non deve avere celle vuote altrimenti bisogna cambiare codice)
Conta le righe per colonna (non so se le colonne arrivano tutte alla stessa riga si deve fare riferimento ad una colonna "fissa" es. "A")
con il codice
Codice: Seleziona tutto
UR = Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row

che potrai mettere prima del ciclo For Next di CC

Fai sapere
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-

Re: [Excel] Copiare cella su celle sottostanti

Postdi Venerdi » 02/09/09 20:00

...la macro risolve perfettamente le mie necessità...

Ti sono veramente grato per l'aiuto


ciao
V. :)
Avatar utente
Venerdi
Utente Junior
 
Post: 63
Iscritto il: 18/03/02 20:05
Località: Roma


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Copiare cella su celle sottostanti":


Chi c’è in linea

Visitano il forum: Nessuno e 87 ospiti

cron