Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 6 su 6

[EXCEL] Sostituire valori di cella con valori di altra cella

  1. #1
    Sasha non è in linea Novello
    ImageBam - Fast, Free Image Hosting and Photo SharingRiassumo il problema:
    ho costruito una piccola applicazione in Excel che permette di inserire i dati relativi a persone che chiedono di usufruire di contributi per assistenza familiari
    costituita da un foglio ("Elenco PR") che funziona da database e nel quale attraverso il foglio ("Inserisci") vengono inseriti i dati.
    Questi dati possono essere visti attraverso il foglio "Ricerca" e possono essere modificati attraverso un ulteriore foglio "Modifica".
    Le eventuali modifiche che necessitano vengono gestite dal foglio "Modifica" ove all'inserimento del Cognome e Nome della persona vengono reperite
    (attraverso la formula CERCA.VERT()) le informazioni.
    Attraverso la formula =CONFRONTA() io riesco a reperire (foglio "Elenco PR") la riga su cui è scritto il nominativo e con la macro che prevede la formula:
    Sheets("Elenco PR").Cells(valore di riga ottenuto con CONFRONTA(), Colonna (che io conosco e scrivo su ogni istruzione della macro)).Value=Sheets("Modifica".Cells(indirizzo di cella in formato RC relativo ad ogni dato che voglio cambiare).Value
    io pensavo di poter sostituire tutti i dati da correggere relativi a quella persona. Ma non funziona. Se mi potete aiutare.
    EXCEL 2003 ed EXCEL 2007
    Chiedo scusa per eventuali inesattezze e/o confusioni dovute alla mia scarsa conoscenza di Excel e, praticamente nulla di VBA - utilizzo il registratore macro per automatizzare sequenze ripetitive.
    Per ora grazie
    ImageBam - Fast, Free Image Hosting and Photo Sharing ImageBam - Fast, Free Image Hosting and Photo Sharing ImageBam - Fast, Free Image Hosting and Photo Sharing

  2. #2
    L'avatar di machopicho
    machopicho non è in linea Scolaretto
    Ciao, benventuo nel forum.
    Ti conviene postare direttamente il codice della macro che non funziona in odo da vedere se per caso c'è qualce errore di sintassi o concettuale.
    ℹ️ Leggi di più su machopicho ...

  3. #3
    L'avatar di dragone bianco
    dragone bianco non è in linea Certosino
    Ciao Sasha

    Per la ricerca (visto che usi VBA) usa il find (è l'equivalente del trova) e restituisce un valore Range e da cui scopri la riga usando semplicemente Row

    invece è strano che non funziona questo passaggio:
    Sheets("Elenco PR").Cells(valore di riga ottenuto con CONFRONTA(), Colonna (che io conosco e scrivo su ogni istruzione della macro)).Value=Sheets("Modifica".Cells(indirizzo di cella in formato RC relativo ad ogni dato che voglio cambiare).Value
    
    Da Quello che ho capito usi questa sintassi per ogni cella che devi modificare.
    verifica che la riga e la colonna siano corrette, non è che modifichi una cella diversa da quella che ti aspetti?
    ℹ️ Leggi di più su dragone bianco ...

  4. #4
    Sasha non è in linea Novello
    Ciao Dragone Bianco
    la tua risposta mi ha aperto uno spiraglio e riguardando attentamente quello che ho scritto ho capito dov'era l'errore: io utilizzavo la stessa sintassi per modificare tutte le celle da modificare, peccato che modificando la prima cella di "Elenco PR" - corripsondente al Cognome" automaticamente non mi veneiva più riconosciuto il nominativo e pertanto non avevo più il riferimento alla riga. In pratica riuscivo solo a sostituire il cognome, ma poi a quel punto tutto si bloccava.
    Grazie!

  5. #5
    Sasha non è in linea Novello
    Ciao machopicho
    Ti ringrazio per l'aiuto, ho letto solo ora il tuo messaggio e successivamente quello di dragone bianco mi ha aperto gli occhi sull'errore che commettevo. Ti ringrazio.
    Saluti, Sasha

  6. #6
    L'avatar di dragone bianco
    dragone bianco non è in linea Certosino
    Ciao Sasha

    Di solito per ovviare a questo problema si memorizza il parametro in una variabile (il riferimento di riga, o altro) così che anche al mancare della condizione tu puoi lavorare ancora.
    se non è fattibile modifica prima tutte le altre celle e per ultima quella che fa decadere la condizione
    Evita l'uso di formule nelle celle ma usa l'equivalente VBA
    vedi link

    Evita di usare formule come confronto in VBA basta usare un semplice = (Uguale)
    Es Range("A1")=Range("A2")
    esiste Instr e tante altre funzioni VBA più potenti e veloci delle formule nelle celle

    Ciao

    PS:
    questi sono solo alcuni semplici consigli, libero di seguirli o meno
    ℹ️ Leggi di più su dragone bianco ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 7
    Ultimo Post: 21-10-2017, 16:12
  2. Risposte: 3
    Ultimo Post: 20-05-2017, 22:11
  3. Risposte: 18
    Ultimo Post: 19-08-2011, 21:56
  4. Sostituire una data da una cella all' altra
    Da trump61 nel forum Microsoft Word
    Risposte: 4
    Ultimo Post: 23-10-2009, 16:32
  5. Risposte: 7
    Ultimo Post: 05-06-2008, 21:44