Condividi tramite

Macro confronto celle

Anonimo
2014-04-16T08:14:29+00:00

Buongiorno a tutti,

avrei bisogno di supporto per lo sviluppo di una macro probabilmente abbastanza complesssa.

Semplicemente ho 2 collone:

  • colonna 1: statica (nomi)
  • colonna 2: dinamica (numeri)

Vorrei che la macro confrontasse i valori (Colonna 2) che hanno lo stesso nome (colonna 1) e che mi avvertisse (alert) nel caso in cui si verifichi una determinata condizione.

Ringrazio anticipatamente per eventuali risposte.

Un saluto

Daniel

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2014-04-29T10:30:53+00:00

intanto ti ringrazio nuovamente per l'aiuto e scusa se sono stato assente, causa lavoro.

Provando tutte le varie combinazioni, ho notato che il file effettivamente funziona correttamente inserendo "mioparametro" anche con numeri decimali, l'unico problema resta che excel va in crash se la colonna da confrontare (i prezzi) sono in formato percentuale.

Ciao Daniel,

In principio, l'uso dei prezzi in formato percentuale nondovrebbe avere alcuna influenza negativa in quanto le percentuali non sono altro che numeri, o interi o decimali.

Pertanto ho fatto un rapido test, semplicemente convertando il formato percentuale i miei valori di prova storici. Come risultato ho ricevuto la seguente e-mail:

I risulati di stamattina mostrati nel file allegato erano:

ITALIA Fiat 8,56 Eni 18,61 -10,05 29/04/2014 11.16.13
ITALIA Eni 18,61 Finmeccanica 6,42 12,19 29/04/2014 11.16.13
FRANCIA Carrefour 28,6 Peugeout 12,96 15,64 29/04/2014 11.16.13
GERMANIA Mercedes 17,25 Vw 28,75 -11,5 29/04/2014 11.16.13
GERMANIA Mercedes 17,25 Audi 6,95 10,3 29/04/2014 11.16.13
GERMANIA Mercedes 17,25 Polo 3,00 14,25 29/04/2014 11.16.13
GERMANIA Vw 28,75 Audi 6,95 21,8 29/04/2014 11.16.13
GERMANIA Vw 28,75 Polo 3,00 25,75 29/04/2014 11.16.13

Noterai che i risultati sono invariati rispetto a quelli della mia ultima risposta: in altre parole, come previsto, il cambio di formato in formato percentuale non ha avuto alcuna influenza sui risultati ottenuti.

Per utilmente portare avanti la questione, forse sarebbe possibile postare una copia di una ventina di righe, mostrando i dati problematici nelle colonne A, B e Q. Assicurarti che, dopo la riduzione a 20 valori percentuali, si continua a riscontrare il problema descritto e sostituire i titoli e altri dati sensibili.

===

Regards,

Norman

La risposta è stata utile?

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2014-04-27T11:10:32+00:00

Ciao Daniel,

Ciao Norman, ho gia fatto tutte le prove del caso, anche con numeri interi, qualsiasi valore diverso da zero manda excel in crash.

Ora ho sostituito la colonna prezzi manualmente con dei valori interi e tutto funziona correttamente, se invece inserisco numeri con la virgola va nuovamente in crash, credo sia questo il problema !

Io non credo che l'uso dei valori decimali per i valori originari abbia alcuna influenza.

Al questo riguardo, vorrei ricordarti che nei miei test ho usato i tuoi dati di esempio che comprendevano esclusivamente i numeri decimali. Se rivedi le mie risposte in questo thread, vedrai degli  esempi di 'screenshots' (catture schermo) dei miei risultati dei test, i quali comprendono numeri decimali.

Nonostante questo, ho effettuato numerosi test nel tentativo di riprodurre, anche parzialmente, la tua esperienza. Perché non avevo potuto reprodurre i tuoi problemi, ho deciso di modificare i settaggi del mio computer e mi sono spostato in Italia: ho convertito le mie impostazioni di lingua da Inglese a Italiano e più importante, ho convertito il separatore decimale dal punto inglese alla virgola italiana; ho anche fatto delle modifiche simili ai miei settaggi di tempo.

Anche con questi settagi, non ho potuto indurre un 'crash'. Infatti, con i settaggi italiani, e utilizzando i tuoi dati (decimali) di esempio, stamattina, ho ricevuto la seguente email di avviso:

Aprendo il file allegato (Alarm.xls), vedo al fondo i segenti dati:

Eni 18,61 Finmeccanica 6,42 12,19 27/04/2014 10.55.57
FRANCIA Carrefour 28,60 Peugeout 12,96 15,64 27/04/2014 10.55.57
GERMANIA Mercedes 17,25 Polo 3,00 14,25 27/04/2014 10.55.57
GERMANIA Vw 28,75 Audi 6,95 21,80 27/04/2014 10.55.57
GERMANIA Vw 28,75 Polo 3,00 25,75 27/04/2014 10.55.57

Ho provato la costante mioParametro con un valore di 10.125 (punto inglese). Nessun problema, nessun crash! Sempe cercando di replicare i tuoi problemi, ho anche provato con un mioParametro di "10,125" (virgola italiana, tra virgolette). Anche utilizzando una stringa 'italiana' anziché un valore numerico inglese, il codice ha fatto una conversione implicita per convertire il valore testo con virgola italiana in un valore numerico inglese e  quindi ha dato gli stessi risultati senza alcun problema. A questo punto dovrei spiegare che la costante mioParametro é dichiarata come tipo 'double' e pertanto un valore testo non dovrebbe essere valido.  

Prima di abbandonare i miei test, e come tentativo finale, ho provato a sostituire il valore della costante mioParemetro con "10.125", cioè un valore di testo, utilizzando il separatore decimale inglese. Questa volta, con il gestore di errori disabilitato, il codice è entrato in un ciclo infinito! Per essere preciso, non si tratta di un crash:  potevo finalmente entrare in modo 'debug', premendo ripetutamente il tasto Esc.

In sommario, pertanto, l'unico modo in cui ho potuto riprodurre dei problemi analoghi alla tua esperienza è stata di assegnare un valore di testo non valido alla costante mioParametro. Tuttavia, per questa assegnazione non valida di causare il problema segnalato, il valore del testo assegnato doveva utilizzare il separatore decimale inglese e il computer ha dovuto utilizzare le impostazioni italiani. Pertanto, assicurarti  che sia assegnato solo un valore numerico inglese (punto, senza virgolette). 

Oltre di queste osservazioni non riesco di spiegare perché tu   verifichi problemi, mentre il codice suggerito funziona senza alcun problema per me.

===

Regards,

Norman

La risposta è stata utile?

0 commenti Nessun commento

61 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-04-16T09:45:22+00:00

    Ciao Norman, intanto ti ringrazio per la disponibilità e per la celere risposta, cerco di essere più chiaro.

    Ho una lista di 100 titoli che vengono inseriti a mano (colonna A) etichettati con un certo ID (colonna B) con rispettive 100 quotazioni (colonna C) che si aggiornano real time.

    La macro dovrebbe confrontare solamente i prezzi dei titoli con stesso ID ed avvertirmi nel caso in cui si verificasse un certo spread tra una coppia di questi.

    ES.

    TITOLO ID QUOTE
    FIAT ITALIA 8,56
    ENI ITALIA 18,61
    FINMECCANICA ITALIA 6,42
    PEUGEOUT FRANCIA 12,96
    CARREFOUR FRANCIA 28,6

    In questo caso ad esempio la macro confronta i prezzi dei titoli denominati "ITALIA" (fiat eni finmeccanica) e manda un alert se i prezzi si distanziano di un certo valore.

    La stessa cosa viene fatta parallelamente sui titoli "FRANCIA", e così via.

    Grazie ancora per la disponibilità, spero di essere stato più comprensibile.

    Un saluto

    Daniel

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-04-16T09:24:45+00:00

    Vorrei che la macro confrontasse i valori (Colonna 2) che hanno lo stesso nome (colonna 1) e che mi avvertisse (alert) nel caso in cui si verifichi una determinata condizione.

    Capito poco.

    Fai, per favore un esempio pratico.

    Valuta, come scrive Norman, una formattazione condizionale. Ad esempio, seleziona la colonna A e inserisci questo come formula condizionale(considero la tabella che inizia da A2 per i dati):

    =CONTA.SE(A:A;A2)>1

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-04-16T09:13:30+00:00

    Ciao Daniele.

    E' sempre possibile che io abbia capito male, ma da quello che hai spiegato, penso che un approccio semplice utilizzando formule e formattazione condizionale possa soddisfare le tue esigenze.

    In caso contrario, forse sarebbe opportuno che fornisca un esempio di una determinata condizione.

    e che spieghi le tue esigenze in modo più dettagliato.

    Tuttavia, non sono affatto avverso a fornire una macro complessa se questo sia il requisito più importante :-)

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento