È soltanto un Pokémon con le armi o è un qualcosa di più? Vieni a parlarne su Award & Oscar!
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Macro per tutte le celle nono vuote

Ultimo Aggiornamento: 27/01/2020 17:05
Post: 1
Registrato il: 30/04/2016
Età: 74
Utente Junior
excel 2016
OFFLINE
24/01/2020 17:16

Buonasera sto cercando di fare una macro che applica una formula per tutte le celle non vuote. Nell'istruzione ho inserito un if che verifica il primo campo e se non vuoto applica la formula (banalmente concatena il contenuto di più celle in una. Potrei testare tutte le righe e quindi ricopiare la stessa istruzione per un numero congruo di volte ma mi chiedevo se esiste un sistema più pulito, per esempio fare un ciclo che testa la cella se è maggiore di zero concatena e testa quella successiva finche non trova una cella vuota in quel caso esce
Post: 3.695
Registrato il: 03/04/2013
Utente Master
Excel 2000 - 2013
OFFLINE
24/01/2020 18:06

Buona sera, @paolobosh.
Allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi desidera aiutarti.

Giuseppe



Windows XP - Excel 2000
Windows 10 - Excel 2013
Post: 1
Registrato il: 30/04/2016
Età: 74
Utente Junior
excel 2016
OFFLINE
27/01/2020 17:05

è vero sono stato poco chiaro
alla fine però leggendo ho trovato, almeno in teoria la risposta alla mia domanda e cioè l'utilizzo di un ciclo però credo di aver commesso errori di sintassi.
Premessa per eseguire questa sub routine ho inserito una call nella macro principale e sembra andare bene perhcè le istruzione antecedenti la chiamata funzionano questo è come ho scritto il ciclo, la variabile i che si incrementa ad ogni reiterazione cambia i puntamenti delle celle, è corretta come sintassi? mi sembra che comunque manche qualcosa perchè non gira

Sub CicloDo()
i = 2
Do




Range("AE& i").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[-30]<>"" "",IF(RC[-16]>"" "",CONCATENATE(RC[-16],CHAR(10)),"" ""),"" "")"
Range("AE& i").Select
Selection.AutoFill Destination:=Range("AE& i:AR& i"), Type:=xlFillDefault
Range("AE& i:AR& i").Select
Range("AR& i").Select
Selection.AutoFill Destination:=Range("AR& i:AU& i"), Type:=xlFillDefault
Range("AR& i:AU& i").Select
Range("AD& i").Select
ActiveCell.FormulaR1C1 = _
"=CONCATENATE(RC[15],RC[14],RC[13],RC[12],RC[11],RC[10],RC[9],RC[8],RC[7],RC[6],RC[5],RC[4],RC[3],RC[2],RC)"
Range("AD& i").Select
ActiveCell.FormulaR1C1 = _
"=CONCATENATE(RC[15],RC[14],RC[13],RC[12],RC[11],RC[10],RC[9],RC[8],RC[7],RC[6],RC[5],RC[4],RC[3],RC[2],RC[1])"


i = i + 1
If "A&i" = 0 Then Exit Do
Loop
End Sub
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 13:40. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com