RIEMPIRE CELLA DIVERSA



  • RIEMPIRE CELLA DIVERSA
    di MIKIMAR data: 25/01/2016 18:59:59

    Gentili esperti;
    so che questo forum è specifico per vba ma provo a chiedere anche per una semplice formula; ho la necessità di creare un formula che sia capace di riempire una cella diversa da quella in cui contiene la stessa.
    Ad esempio se la cella a1 contiene la parola "sede" nella cella a2 scrivi "vero";
    ho provato con questa formula ma ovviamente non funziona:

    in a3 ho =se(a1="sede";a2="vero";"")

    Grazie in anticipo



  • di alfrimpa data: 25/01/2016 19:09:36

    Ciao Mikimar

    Se ho capito bene in A2 devi scrivere

    =SE(A1= "sede";"VERO";"")

    Quindi se in A1 scrivi sede in A2 comparirà VERO; diversamente A2 rimarrà vuota.

    Alfredo





  • di MIKIMAR data: 25/01/2016 20:09:19

    Gentile Alfredo grazie per aver risposto, e chiedo scusa per non essere stato abbastanza chiaro:
    la cella a2 (quella dove deve comparire "vero" per intenderci) non deve contenere formula perché devo aver la possibilità di inserire il valore "vero" anche a mano. Quindi il mio obbiettivo sarebbe: mettere la formula in un'altra cella la quale scriva in a2 secondo la condizione se().
    Grazie



  • di alfrimpa data: 25/01/2016 20:27:34

    Ciao Mikimar

    Non puoi usare la funzione se; non so se la questione si possa risolvere con le formule (con le quali non vado d'accordo) ma credo che con il VBA ci si possa riuscire.

    Se per te è una soluzione percorribile allega un file di esempio illustrando il problema e vediamo cosa si può fare.

    Alfredo





  • di MIKIMAR data: 26/01/2016 10:17:11

    Buongiorno Sig. Alfredo;
    il file è più grande di 1 Mb quindi non posso inserirlo come allegato quindi inserisco in allegato un file di testo con il link per poter scaricarlo qualora si voglia.
    I link resta online fino al 2 febbraio 2016.
    Come vedrà il fiel excel contiene delle celle con delle caselle di controllo associata alla cella sottostante di modo che se in detta cella sia presente il valore "vero" la casella si spunta.
    La mia necessità è modificare quella cella in due modi; 1: manualmente (quindi spuntarla con il mouse) 2: se in un'altra cella è presente un dato valore.
    Esempio: guardando il foglio di lavoro allegato se nella cella M4 e presente il valore "STR" nella cella F4 compaia il valore "VERO"
    Grazie di tutto
    Michele



  • di Gianfranco data: 26/01/2016 11:33:41

    Ciao

    onestamente non ho capito cosa vuoi fare

    come fai a scrivere su una cella se sopra hai una casella di controllo?
    A) la collego con una formula ad una cella esterna e o scrivo ="cella riferimento" ( nella cella scrivo quello che voglio)
    B) creo una macro che faccia il lavoro di scrivere xxx nella cella e se questa è scritta
    in automatico mi spunti la casella di controllo.

    però una domanda mi sorge spontanea

    se la cella di riferimento è nello stesso foglio non faccio prima a spuntarla a mano?
    dunque presumo che la voce da inserire sia legata a qualche dato non presente nel foglio
    qual è questo dato?

    grazie
    e scusa le domande



  • di Mikimar (utente non iscritto) data: 26/01/2016 12:33:20

    Ciao Gianfranco,
    grazie per l'interesse mostrato.
    Allora vi spiego meglio:
    l'azienda ogni giorno mi invia tramite un file di testo prodotti e destinazione da trasferire e io li riporto sul file che vi ho allegato; per quanto riguarda i prodotti con un semplice copia e incolla risolvo velocemente mentre per le destinazioni sono costretto a spuntare manualmente cella per cella, con un margine di errore piu' elevato.
    Essendo la casella di spunta associata alla cella se in quella cella c'è il valore "vero" la casella viene spuntata altrimenti no, quindi nella cella di riferimento della casella di controllo non puo' esserci altro valore oltre che "VERO" e "FALSO".
    Allora pensavo di fare lo stesso copia e incolla che uso per i prodotti anche per le destinazioni quindi usare una colonna per scrivere le destinazioni che in base al "paese" di riferimento mi scrive vero nella cella collegata, però se non capisco come fare per una cella non riesco a ragionare per colonna.
    La soluzione sarebbe stata inserire la formula se come ho scritto sopra peccato che non funziona su una cella diversa da quella dove è situata la formula.
    Scusate se sono stato un po lungo ma spero di avervi fatto capire meglio il problema.
    Saluti.



  • di Mohican1989 data: 27/01/2016 00:24:36

    Ciao Mikimar,

    Premetto che una soluzione tramite VBA sarebbe risultata più pulita e meno macchinosa.

    Ho scritto molto ma è solo per far capire anche chi leggendo non sia espertissimo a usare la tastiera-

    Ipotizzio che STR/CAV/SAL/AVE/SAR/FOR siano tutti acronomi/sigle delle destinazioni corretto ?
    Se tu hai l' elenco delle destinazione le copi e incolli come fai per i prodotti, io per comodita (e se non sei esperto di formule excel copiale nello stesso punto se no i riferimenti non sono corretti) li ho incollate a caso nella colonna L.

    Andando con le frecce nella CELLA F4 (ho usato le frecce perchè con il mouse risultava difficile entrare all 'interno della cella) ho inserito la formula:

    "=SE($L4="str";VERO;FALSO)" senza le virgolette prima dell uguale e dopo la parentesi chiusa
    ora la parte un po "tricky" è quella di copiare la formula nelle celle e sostituire "str" con le altre sigle.

    Infatti la prima volta copiando la cella o scorrendo la formula su quelle interessate (G4:K4) copiava anche la casella di controllo raddopiandola e creando un sacco di confusione.

    Per ovviare devi usare dopo aver premuto ctrl-v sulla cella F4 ti sposti con la freccetta di 1 casella a destra tieni premuto il tasto del maiuscolo ed evidenzi fino alle cella K4 spostandoti sempre con la freccia verso destra. Da qui posizionati su una qualsiasi delle 5 caselle che abbiamo evidenziato e clicca sul tasto destro quando ti appare la croce bianca (non la mano, così attivi la casella di controllo che sostituisce la formula con il valore contrario a quello presente, costringendoti a riscriverla) e quindi clicca su copia formule (Fx). Ok fino a qui abbiamo copiato la formula nella prime 5 caselle ma devi cambiare per ognugna il testo dentro la formula relativo alla destinazione.
    Partendo dalla casella G4 (attento muoviti con le freccette se non sei sicuro di evitare la manina della casella di controllo) sostituisci "str" con "cav" e clicchi il tasto TAB così da passare subito alla casella successiva.
    Arrivati all ultima casella non ci resta che trasportare le formule di ogni destinazione lungo tutti le altre caselle di controllo. Ti posizioni quindi sulla casella F4 premi maiuscolo e le freccette fino ad arrivare a k4, esegui la copia dopodiche ti sposti su f5 clicchi ancora maiuscolo e le freccette fino ad arrivare a k5 e infine clicchi ctrl+maiuscolo+freccetta in giu per selezionare tutte le caselle di controllo e sempre facendo attenzione a non cliccare sulla manina bianca clicchi su una qualsiasi delle celle selezionate con il tasto destro e clicchi su copia formule. A seconda della destinazione che sarà presente nella casella a destra delle caselle di controllo (colonna L) verrà spuntata la casella corretta.





  • di MIKIMAR (utente non iscritto) data: 27/01/2016 16:35:27

    Mohican1989 grazie per la risposta;
    la soluzione che hai dato tu sarebbe stata la piu' semplice ma in quel caso se vado a spuntare a mano una casella di controllo cancellerei la formula che c'è sotto quindi funzionerebbe una volta sola. Io dovrei avere la possibilità di spuntare anche a mano.
    Grazie lo stesso.



  • di Mohican1989 data: 27/01/2016 19:41:31

    Certo avevo dimenticato un dettaglio importante. Spero di essere smentito ma dubito, non ci sono formule di Excel che possono cambiare il contenuto di un altra cella a meno che la stessa non abbia al suo interno una formula che punti alla precedente ma ancora una volta se clicchi sulla casella di controllo sparirebbe. Come tutti penso ti diranno la cosa risulta molto più facile con qualche riga di codice. Curiosità lo scopo di quel file e del tuo bisogno? Io pensavo fosse per velocizzarti la compilazione ma se poi vuoi poterlo fare a mano ok in quella determinata cella sarà cancellata la formula. Hai là necessitai tenerla? Quella cartella la devi poi inviare a qualcuno? Se si non penso li vuoi far vedere che hai "barato" (anche se dovrebbero elogiarti per aver perso meno tempo).