Risolto Aggiungere istruzione di canc. a: .End(xlDown).Offset(1, -2).Select

Gianfranco62

Utente abituale
24 Gennaio 2018
287
18
Venezia
Excel 2007
1
Buongiorno a tutte e a tutti
Ho aggiunto alla fine di una macro questa istruzione
Visual Basic:
Range("C5").End(xlDown).Offset(1, -2).Select
che, quando termina, si ferma dopo l’ultima riga piena della colonna C e si sposta in colonna A.
Quello che non riesco a scrivere è:
- selezionare dalla cella Ax di arrivo alla cella N7004;
- cancellare tutto il contenuto da Ax a N7004
- ritornare alla cella C5

Grazie e buon week end Saluto_saluto
 

lukereds

Excel/VBA Expert
Staff
17 Luglio 2018
2.070
115
Milano
www.formazione-milano.net
2013 e 2016
159
ciao,
in ordine alle domande:
- RANGE("A1:N7004").select selezioni una cella
- RANGE("A1:N7004").clear (cancella anche formattazione celle) .clearcontents (cancella solo il contenuto)
- RANGE("C5").select
 
Ultima modifica:

Gianfranco62

Utente abituale
24 Gennaio 2018
287
18
Venezia
Excel 2007
1
Grazie L @lukereds e saluti a alfrimpa @alfrimpa
Nn sn al PC, ma leggendo il tuo post penso che se parte da A1 a N7004 mi cancella tutto.
Il campo Ax nn é noto perché dove si ferma il cursore dopo offset varia, nel senso che la tabella si popola giornalmente.
Quindi, se adesso é a 3000, domani sarà a A3100 e così via
Taglio capelli
A dopo
 

Zer0Kelvin

VBA Expert
Staff
19 Novembre 2016
1.933
115
60
Teramo (Provincia)
2010
157
Grazie L @lukereds e saluti a alfrimpa @alfrimpa
Nn sn al PC, ma leggendo il tuo post penso che se parte da A1 a N7004 mi cancella tutto.
Il campo Ax nn é noto perché dove si ferma il cursore dopo offset varia, nel senso che la tabella si popola giornalmente.
Quindi, se adesso é a 3000, domani sarà a A3100 e così via
Taglio capelli
A dopo
A1 è solo un esempio, devi sostituirla con l'espressione
Visual Basic:
Range("C5").End(xlDown).Offset(1, -2).
Inoltre, per eseguire un'operazione su una o più celle in VBA, non c'è necessità di selezionarle
Visual Basic:
Range(Range("C5").End(xlDown).Offset(1, -2), Range("N7004")).ClearContents
 
Ultima modifica:
  • Like
Reactions: lukereds

Andrea Guerri

Utente abituale
19 Febbraio 2019
848
45
2019 + G Sheet
35
Buongiorno a tutte e a tutti
Ho aggiunto alla fine di una macro questa istruzione
Visual Basic:
Range("C5").End(xlDown).Offset(1, -2).Select
che, quando termina, si ferma dopo l’ultima riga piena della colonna C e si sposta in colonna A.
Quello che non riesco a scrivere è:
- selezionare dalla cella Ax di arrivo alla cella N7004;
- cancellare tutto il contenuto da Ax a N7004
- ritornare alla cella C5

Grazie e buon week end Saluto_saluto
Ciao, questo evita che se hai uno spazio vuoto in una qualsiasi cella della colonna N, rischi di non cancellare tutti i dati
Visual Basic:
uR = Range("N999999").End(xlUp).Row
    Range("AX5:N" & uR).ClearContents
    Range("C5").Select
Puoi fare la stessa macro in due righe anziché 3
Visual Basic:
    Range("AX5:N" & Range("N999999").End(xlUp).Row).ClearContents
    Range("C5").Select
Oppure se sotto ultimo dato non hai altri dati che ti interessano, puoi fare semplicemente così
Visual Basic:
    Range("AX5:N999999").ClearContents
    Range("C5").Select
 
Ultima modifica:

Gianfranco62

Utente abituale
24 Gennaio 2018
287
18
Venezia
Excel 2007
1
, Range("N7004")).ClearContents
Avevo un idea simile, ma non pensavo di aggiungerla al codice con una virgola.
Mi ero, come dire, insabbiato con la capa e vedevo solo quella via.
Invece, è bastava una sola virgola TestateSulMuro
Per fortuna che ci siete voi del ForumExcel

Molto bene
Ringrazio @lukereds, Andrea Guerri @Andrea Guerri e un saluto a alfrimpa @alfrimpa :StrettaDiMano:
Coppa a Zer0Kelvin @Zer0Kelvin cappello_saluta
 

Gianfranco62

Utente abituale
24 Gennaio 2018
287
18
Venezia
Excel 2007
1
Grazie ggratis @ggratis
Le proverò e Vi farò sapere, anche ad Andrea Guerri @Andrea Guerri ... Ma voi lo sapete già che andranno bene PollicioneInSu
A risentirci cappello_saluta
 

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!