Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

formula vba

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

formula vba

Postdi CIACILLO1 » 05/11/13 10:36

Buongiorno,
navigando in rete cercavo una risoluzione al mio problema: una formula che mi eliminasse le righe con lo stesso testo da A1:A2000, ma sembrerebbe che l'unico modo sia una macro vba, di cui sono completamente ignorante. chiedevo se qualcuno poteva darmi una mano e seguirmi alla risoluzione del problema.grazie per le risposte.
CIACILLO1
Utente Junior
 
Post: 43
Iscritto il: 04/06/09 11:39

Sponsor
 

Re: formula vba

Postdi KITT » 05/11/13 14:29

ciao, puoi fare un esempio gentilmente? perche' ci sono diverse possibilita' a seconda del risultato che si cerca.
a presto
KITT
XP - OFFICE 2003 - ENG
WIN 7 - OFFICE 2010 - ENG
Avatar utente
KITT
Utente Junior
 
Post: 71
Iscritto il: 16/05/11 08:20

Re: formula vba

Postdi CIACILLO1 » 05/11/13 15:56

A B
1 *milano adria chiave
2 milano conca
3 *milano torre chiave
4 milano conca
5 milano marittima
6 *milano adria chiave
tot 3 chiavi
in A1:A2000 ci sono una serie di dati che vengono copiati da un altro foglio, in B c'è la seguente formula:=se(val.errore(trova(*;A1));"";"CHIAVE"), di conseguenza in B mi restituisce tutte quelle località dove sono previste le chiavi; il problema è che se ci sono dei doppi valori (vedi A1e A6) il totale restituisce 3 chiavi anche se in verità ne sono 2.
spero di essermi spiegato, attendo vostre notizie.
CIACILLO1
Utente Junior
 
Post: 43
Iscritto il: 04/06/09 11:39

Re: formula vba

Postdi ricky53 » 05/11/13 16:31

Ciao,
quante volte va fatta l'operazione?
L'uguaglianza va controllata sull'intera cella?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: formula vba

Postdi Anthony47 » 06/11/13 01:35

Potresti provare col Filtro Avanzato:
-Ti assicuri che le colonne abbiano tutte la loro intestazione
-selezioni le colonne della tabella
-menu /Dati /Filtro /Filtro avanazato;
-spunta "Copia univoca dei record", "Copia in altra posizione", inserisci la posizione in cui il nuovo elenco deve essere creato
-premi Ok
Purtroppo la posizione degli univoci deve essere sulla stessa pagina, ma se questo fosse un problema puoi sempre registrare una macro mentre:
-esegui la procedura che ti ho detto prima
-copi tutte le colonne dell' elenco degli univoci e lo incolli in A1 di un altro foglio
-torni sul foglio con la tabella iniziale e cancelli la tabella degli univoci.

Volendo disegni un Pulsante (lo trovi nella barra degli strumenti Moduli) sul foglio contenente l' elenco originale e gli associ la macro appena creata (ti verra' chiesto durante la creazione del pulsante quale macro vuoi associarci); In questo modo quando vuoi aggiornare l' elenco in ordine ti bastera' premere il pulsante.

Prova e fai sapere.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: formula vba

Postdi KITT » 06/11/13 07:35

Ciao Ciacillo1, questo e' il codice vba che ho preparato per te, fa un controllo sulle prime 2000 celle della colonna B e se trova un valore che e' gia' presente nella lista lo cancella. al termine appare un messaggio che ti avvisa che il processo si e' concluso.
Il tempo di esecuzione del ciclo si attesta tra i 2/3 secondi.

Questo codice va incollato in un modulo del vba di excel e fatto partire secondo le tue necessita'.

Spero possa esserti di aiuto, in caso contrario posta le modifiche da apportare.

ciao.

Codice: Seleziona tutto
Sub elimina()

For x = 1 To 2000
10
    Cells(x, 2).Select
    If ActiveCell.Row > 2000 Then GoTo 30
    If ActiveCell = "" Then
        x = x + 1
        GoTo 10
    End If
    ValoreDaCercare = ActiveCell
    RigaDaNonEliminare = ActiveCell.Row
   
    For y = 2000 To 1 Step -1
20
        Cells(y, 2).Select
        If ActiveCell = "" Then
            y = y - 1
            GoTo 20
        End If
        If ActiveCell = ValoreDaCercare And ActiveCell.Row <> RigaDaNonEliminare Then ActiveCell.ClearContents
    Next y
Next x
30
    Cells(1, 2).Select
    MsgBox "Processo concluso"
End Sub
KITT
XP - OFFICE 2003 - ENG
WIN 7 - OFFICE 2010 - ENG
Avatar utente
KITT
Utente Junior
 
Post: 71
Iscritto il: 16/05/11 08:20

Re: formula vba

Postdi CIACILLO1 » 06/11/13 11:29

Ciao buongiorno,
grazie Kitt funziona alla perfezione.Grandiiiii
CIACILLO1
Utente Junior
 
Post: 43
Iscritto il: 04/06/09 11:39

Re: formula vba

Postdi KITT » 06/11/13 11:36

Prego, alla prossima. :)
KITT
XP - OFFICE 2003 - ENG
WIN 7 - OFFICE 2010 - ENG
Avatar utente
KITT
Utente Junior
 
Post: 71
Iscritto il: 16/05/11 08:20


Torna a Applicazioni Office Windows


Topic correlati a "formula vba":


Chi c’è in linea

Visitano il forum: Nessuno e 14 ospiti