Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

cancella tutto dopo l'ultma cella attiva (non vuota)

Ultimo Aggiornamento: 17/05/2018 22:52
Post: 343
Registrato il: 08/01/2012
Città: MILANO
Età: 56
Utente Senior
excel 2000/2007
OFFLINE
12/05/2018 21:19

Ho creato una macro con il registratore che divide dei dati in testo-colonne.
Ora dei dati dopo l'ultima riga valida esatta (non vuota) si inseriscono un pò a caso un pò più avanti come riga.
Come posso cancellare questi dati?
Penso sia qualcosa di simile a questo:

dopo l'ultima cella valida della colonna A cancella tutto.

Esempio l'ultima cella valida è E530 cancella tutto il range E531:R65000
Natualmente E530 non è sempre fisso.
patrik
[Modificato da patrik01 12/05/2018 21:20]
------------------
excel 2003 / 20007
Post: 343
Registrato il: 08/01/2012
Città: MILANO
Età: 56
Utente Senior
excel 2000/2007
OFFLINE
12/05/2018 21:58

Ho trovato nelle varie macro del mio pc:

Set WS = Worksheets("dividi")
ActiveSheet.Unprotect "123456"
With WS
    Set LastCell = .Cells(.Rows.Count, "A").End(xlUp)
    LastCellRowNumber = LastCell.Row
    Rows(LastCellRowNumber + 1 & ":" & Rows.Count).Delete
End With


che funziona, solo che mi elimina tutte le righe.
E' possibile modificare che elimine solo i valori presenti lasciando le
righe?
patrik
------------------
excel 2003 / 20007
Post: 1.852
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
13/05/2018 11:08

Ciao
fai una ricerca su come cancellare, non eliminare troverai qualcosa da sostituire a "Delete" che in italiano è "PulisciContenuto"

saluti



Domenico
Win 10 - Excel 2016
Post: 344
Registrato il: 08/01/2012
Città: MILANO
Età: 56
Utente Senior
excel 2000/2007
OFFLINE
13/05/2018 14:32

[SM=g27818]

Rows(LastCellRowNumber + 1 & ":" & Rows.Count).ClearContents
grazie dodo47.
patrik
------------------
excel 2003 / 20007
Post: 345
Registrato il: 08/01/2012
Città: MILANO
Età: 56
Utente Senior
excel 2000/2007
OFFLINE
16/05/2018 20:09

Ciao,
come posso modificare questa parte di macro:

'----------------------------------------------------------------
'cancella tutto dopo l'ultima riga valida

 'Dim WS As Worksheet
 'Dim LastCell As Range
 'Dim LastCellRowNumber As Long

Set WS = Worksheets("dividi") 'nome foglio
ActiveSheet.Unprotect "123456"
With WS
    Set LastCell = .Cells(.Rows.Count, "A").End(xlUp) 'colonna A
    LastCellRowNumber = LastCell.Row
    Rows(LastCellRowNumber + 1 & ":" & Rows.Count).ClearContents
End With
'----------------------------------------------------------------


che cancelli dall'ultima riga in cui il valore è un numero.
Mi spiego.
Ora la macro cancella tutto dall'ultima riga della colonna A.
La modifica che chiedo è che cancelli dall'ultima riga della colonna A in cui non c'è un numero.
Esempio in A200 c'è 654332 in A201 c'è una parola da A201 cancella tutto.
Spero di essermi spiegato.
patrik
------------------
excel 2003 / 20007
Post: 1.169
Registrato il: 27/06/2011
Utente Veteran
excel 2007
OFFLINE
17/05/2018 16:08

Re:
ciao a tutti

patrik01, 5/16/2018 8:09 PM:


Esempio in A200 c'è 654332 in A201 c'è una parola da A201 cancella tutto.
Spero di essermi spiegato.
patrik



a parte la solita mancanza di un file su cui fare le prove del caso,



dall'esempio si evince che A201 non è l'ultima riga piena.
E se A202 c'è ancora una parola, deve pulire da A201 o da A202?

Oppure non ci sono testi in celle adiacenti?

Come vedi,
almeno per me, ti sei spiegato ma non abbastanza.

Ciao
Frank

EDIT:

patrik01, 5/16/2018 8:09 PM:


La modifica che chiedo è che cancelli dall'ultima riga della colonna A in cui non c'è un numero.
patrik




ripensandoci meglio, va da sè che sotto la A201 ci sono solo testi.

Quindi:

alla riga adeguata della tua macro,

inserisci un ciclo For Next dal basso verso l'alto con parametro Step -1,
se ultima riga non è un numero
pulisci l'ultima riga
altrimenti esci dalla Sub

e prosegui con altro codice


[Modificato da tanimon 17/05/2018 17:03]







Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
Excel 2007 forse anche 2013 ... 2021 ... 365 e future...
Post: 346
Registrato il: 08/01/2012
Città: MILANO
Età: 56
Utente Senior
excel 2000/2007
OFFLINE
17/05/2018 18:54

Ciao,
nella foto allegata per l'esempio A200 è l'ultima cella della colla A in cui c'è un valore numerico.
Dopo da A201 in poi possono esserci solo dati "parole" o "caratteri"
La parte di macro che ho allegato è inserita dopo una macro creata con il registratore per dividere in testo/colonne un file testo.
Alla fine della divisione vengono inseriti dei valori testo o caratteri che non sono come eliminare.
patrik
------------------
excel 2003 / 20007
Post: 1.170
Registrato il: 27/06/2011
Utente Veteran
excel 2007
OFFLINE
17/05/2018 19:04

ciao,
non te la prendere,

ma anche se la foto è venuta bene e puoi esporla per una mostra di fotografia,

per lavorare su un file di Excel è inutilizzabile.

Non si possono fare test di Excel su una immagine di uno schermo.

Tra una foto e l'altra,
hai tentato di capire quanto ti ho suggerito?


patrik01, 5/17/2018 6:54 PM:


Dopo da A201 in poi possono esserci solo dati "parole" o "caratteri"



che sono comunque sempre testo e diversi da numeri [SM=x423029]

Ciao
Frank
[Modificato da tanimon 17/05/2018 19:14]







Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
Excel 2007 forse anche 2013 ... 2021 ... 365 e future...
Post: 3.475
Registrato il: 28/06/2011
Città: AGORDO
Età: 70
Utente Master
2013
OFFLINE
17/05/2018 20:21

Un saluto a tanimon
L'unico modo che io sappia è fargli un ciclo for
vb
Sub cancella()
Dim Ur As Long, X As Long
Ur = Range("A" & Rows.Count).End(xlUp).Row
For X = 2 To Ur
    If Not IsNumeric(Cells(X, 1)) Then
        Cells(X, 1) = "" ' oppure cancella 30 colonne>>> Range(Cells(X, 1), Cells(X, 30)) = ""
    End If
Next
End Sub
Excel 2013
Post: 1.171
Registrato il: 27/06/2011
Utente Veteran
excel 2007
OFFLINE
17/05/2018 21:40

ciao Raffaele,

come va? spero bene [SM=g27811]

senza togliere niente alla tua proposta,

visto che l'esempio di Patrick parte da riga 200 ed i numeri sono
"sopra" tale riga, il ciclo lo vedrei di più dal basso verso l'alto,

ma non posto nessuna proposta concreta che ho già testato su un file che ho dovuto creare ex novo con dati di fantasia,

fino a quando il richiedente non posterà il suo, che essendo quello
su cui dovrà eventualmente adottarla, è quello i cui dati sono
reali e disposti sul foglio nel modo effettivo.

Sò che Tu lo sai già e quindi non lo ricordo a Te,
ma a tutti coloro che non se ne sono ancora resi conto:

questo è un Forum la cui definizione da Wikipedia è:

".....Una comunità virtuale si sviluppa spesso intorno ai forum, nel quale scrivono utenti abituali con interessi comuni. I forum vengono utilizzati anche come strumento di assistenza online e all'interno di aziende per mettere in comunicazione i dipendenti e permettere loro di reperire informazioni......"

ed aggiungo io, NON soluzioni ad personam, o ad hoc o a richiesta


Ciao
Frank







Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
Excel 2007 forse anche 2013 ... 2021 ... 365 e future...
Post: 347
Registrato il: 08/01/2012
Città: MILANO
Età: 56
Utente Senior
excel 2000/2007
OFFLINE
17/05/2018 22:17

Posto il file.
patrik
------------------
excel 2003 / 20007
Post: 1.172
Registrato il: 27/06/2011
Utente Veteran
excel 2007
OFFLINE
17/05/2018 22:52

Ciao Patrick,
sono emozionato se il fatto che tu abbia postato il file dipenda dal mio post precedente,

ma non ho capito se hai tentato di applicare quanto ti abbiamo suggerito sia Raffaele in modo esplicito e concreto,
che io in modo "informale".

Per quello che è il mio pensiero,
il file che si richiede al richiedente non serve per poterlo "restituire risolto",

ma per avere la reale situazione della disposizione dei dati sul foglio
e fornire in base a questa, la soluzione più appropriata utilizzando le istruzioni VBA più idonee .


Ti invito ad "estrarre" dal tuo progetto, la porzione di problema che ti impegna attualmente ed applicarne eventuali soluzioni
fornite dagli utenti del forum su un file di test
creato da te, sul tuo pc, per i test necessari che TU dovrai effettuare.

Dovrai poi inserire la soluzione del micro problema,
all'interno del progetto che stai realizzando.

Ciao e buon lavoro.

Frank
[Modificato da tanimon 17/05/2018 23:06]







Stretta la foglia, larga la via, dite la vostra che ho detto la mia.
Excel 2007 forse anche 2013 ... 2021 ... 365 e future...
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 10:45. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com