Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Cancellazione condizionale riga

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

Cancellazione condizionale riga

Postdi hayabusa_65 » 21/10/10 15:58

Buongiorno a tutti
Ho bisogno di un altro aiuto e chiedo se qualcuno può aiutarmi.
Ho una tabella nella quale inserisco alcuni nominativi del tipo
Nome, cognome, indirizzo, codice fiscale, data di nascita, attivo, controllo

dove nel campo attivo indico se è ancora in attività
e il codice di controllo è un campo di controllo dato dalla somma della lunghezza del nome, + la lunghezza del cognome+ la data di nascita che mi serve a indicare se il nominativo inserito è già presente precedentemente (difficilmente posso avere lo stesso valore per due soggetti diversi)

Io ora avrei due necessità:

la prima è la seguente

quando inserisco lo stato di inattività su un soggetto già esistente in tabella mi deve andare a inserire la dicitura "Inattivo" anche sulla ricorrenza precedente.

La seconda devo cancellare tutte le righe che hanno "Inattivo" nella colonna F

Qualcuno mi può aiutare
Grazie a tutti :)
hayabusa_65
Utente Junior
 
Post: 29
Iscritto il: 18/10/10 10:43

Sponsor
 

Re: Cancellazione condizionale riga

Postdi Flash30005 » 22/10/10 03:29

hayabusa_65 ha scritto: codice di controllo è un campo di controllo dato dalla somma della lunghezza del nome, + la lunghezza del cognome+ la data di nascita
:roll:

Ma se hai già il campo del codice fiscale che è unico per legge a cosa ti serve il campo univoco?
Inoltre potresti trovare due lunghezze di nomi uguali (pur essendo diversi i nomi) e data identica tanto vale e più sicuro
creare il codice univoco sulle stringhe Nome & Cognome & Data Nascita
Comunque
ti invio le due macro
Codice: Seleziona tutto
Sub CompilaInatt()
UR = Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row
For RR = 2 To UR
    If UCase(Range("F" & RR).Value) = "INATTIVO" Then
        CodCo = Range("G" & RR).Value
        For RR2 = 2 To UR
            CodCo2 = Range("G" & RR2).Value
            If CodCo = CodCo2 Then Range("F" & RR2).Value = Range("F" & RR).Value
        Next RR2
    End If
Next RR
'Call EliminaInatt '<<<<< togliendo il commento si attiva anche la cancellazione
End Sub
Sub EliminaInatt()
UR = Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row
For RR = UR To 2 Step -1
If UCase(Range("F" & RR).Value) = "INATTIVO" Then Rows(RR & ":" & RR).Delete Shift:=xlUp
Next RR
End Sub

Ammesso che i tuoi dati inizino da A2 (nome), B2 (cognome) ... "Attivo" si trovi in F e il tuo codice in G
nella riga 1 la testata della tabella

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Cancellazione condizionale riga

Postdi hayabusa_65 » 22/10/10 15:49

Ti ringrazio tantissimo per l'aiuto.
Si effettivamente il codice fiscale è un dato certamente univoco, a volte ci si mette a pensare alle soluzioni più fantasiose quando hai la soluzione più semplice sotto il naso.
Grazie ancora.
Ciao
hayabusa_65
Utente Junior
 
Post: 29
Iscritto il: 18/10/10 10:43


Torna a Applicazioni Office Windows


Topic correlati a "Cancellazione condizionale riga":


Chi c’è in linea

Visitano il forum: Bing [Bot] e 11 ospiti