Pagina 1 di 1

[Risolto]Evento click ballerino

Inviato: venerdì 23 agosto 2024, 16:35
da Lanfranchi G.Luigi
Buongiorno.
Mi trovo a confrontarmi con un problema (per me) strano.
Nel file allegato tirato all'osso, quando eseguo un doppio click nella colonna "Quantità" (AI) su una linea con dei valori in "costo"-"data" ecc, Calc dovrebbe eseguire la sub "Click".
Lo fà egregiamente.
Ma se io salvo il file e poi eseguo il doppio click nella colonna AI, su alcune righe (normalmente quelle più alte come riferimento 32-35) funziona ma sulle più basse no.
Calc mi va in input sulla casella selezionata senza azionare l'evento.
Help.... Grazie.

Re: Evento click ballerino

Inviato: venerdì 23 agosto 2024, 16:49
da Lanfranchi G.Luigi
Curiosità.
Nelle cartelle delle macro mi trovo una cartella di nome Humbertlambert vuota.
Se la cancello, quando riapro il file me la ritrovo ancora nella lista cartelle.
Ma che cosa è ?
Non so se voi la potete vedere nel file allegato perchè si trova nelle "macro e finestre di dialogo personali".

Re: Evento click ballerino

Inviato: venerdì 23 agosto 2024, 17:13
da charlie
Ciao,
Lanfranchi G.Luigi ha scritto: venerdì 23 agosto 2024, 16:35 su alcune righe (normalmente quelle più alte come riferimento 32-35) funziona ma sulle più basse no.
Leggi il codice .... :roll:

Codice: Seleziona tutto

 If row <4 or row>43  Then Exit Sub 'fuori target
Lanfranchi G.Luigi ha scritto: venerdì 23 agosto 2024, 16:35
Non so se voi la potete vedere nel file allegato perchè si trova nelle "macro e finestre di dialogo personali".
Ognuno vede solo le proprie.

Re: Evento click ballerino

Inviato: venerdì 23 agosto 2024, 21:19
da Lanfranchi G.Luigi
Charlie grazie per la risposta.
Non ne capisco il senso però.
Se tu avessi letto il mio post avresti capito che il codice non può avere niente a che fare col problema.
Ti ho scritto che funziona tutto bene fino a che non salvo il file.
Solo dopo su alcune caselle calc non rileva più il doppio click.

If row <4 or row>43 Then Exit Sub 'fuori target - mi sembra che 32 35 siano nel target...

Re: Evento click ballerino

Inviato: sabato 24 agosto 2024, 7:28
da charlie
Provato fino a riga 40, funziona.

Re: Evento click ballerino

Inviato: sabato 24 agosto 2024, 10:23
da lucky63
.
Ho testato il tuo file di esempio popolando il range D5:D44 con valori fittizi.
Nel range AI5:AI20 e talvolta anche in AI21 ho riscontrato l'anomalia che segnali.
Controllato il codice della macro sembra corretto.

Ma, funziona anche nel range AI5:AI21 dopo aver salvato il file con rimozione o commento iniziale o modifica da Integer a Long della seguente riga del codice:

Codice: Seleziona tutto

Dim Col as Integer
Allego file.
.

Re: Evento click ballerino

Inviato: sabato 24 agosto 2024, 18:00
da Lanfranchi G.Luigi
Lucky63 grazie per la risposta.
Anche il file da te postato non funziona.
Forse non mi sono spiegato bene.
Prova ad aprire il file e poi salvarlo. E' dopo un salvataggio che il problema si presenta.
Vedrai che nelle linee in alto dello schermo, il doppio click non verrà più rilevato mentre nelle lieee in basso dello schermo continuerà funzionare.
Dato che il codice che gestisce l'evento è sempre uguale per tutti e due i casi, presumo che non dipenda da quello...

NB doppio click nella colonna AI con valori nella colonna D.

Re: Evento click ballerino

Inviato: sabato 24 agosto 2024, 18:18
da Lanfranchi G.Luigi
In effetti l'evento con il doppio click viene sempre rilevato.
La sub viene interrotta dalla riga

Codice: Seleziona tutto

If NOT Target.supportsService("com.sun.star.sheet.SheetCell") Then Exit Sub
Mettendo una semplice istruzione di

Codice: Seleziona tutto

Print "OK"
prima della riga incriminata il messaggio "OK" appare sempre.
Se si mette dopo la riga incriminata il messaggio alcune volte non appare.
La cosa strana è che solo dopo un salvataggio del file il problema si presenta. Cosa Cambia ?
A mio parere un anomalia di Calc.
Ho ulteriormente semplificato il file.
Ora qualsiasi doppio click nell area da AI5 a AI44 viene accettato.
Vedrete che ci sono due messaggi prima della riga incriminata "OK primo passaggio" e dopo la riga incriminata "OK Secondo passaggio".
Quando si salva il file il secondo passaggio viene ignorato su alcuni click.

Re: Evento click ballerino

Inviato: sabato 24 agosto 2024, 21:35
da charlie
Confermo il comportamento "ballerino" anche in OpenOffice dopo il salvataggio.

Inoltre se si esegue la macro in un nuovo file di calc vuoto, funziona sempre, prima e dopo un salvataggio.

Re: Evento click ballerino

Inviato: domenica 25 agosto 2024, 7:25
da Lanfranchi G.Luigi
Probabilmente il file è corrotto o qualche cosa al suo interno interferisce.
Ho eliminato tutto il codice salvo la sub click.
Ho eliminato tutte le celle condizionate.
Ho cancellato tutte le celle superflue o estranee sul foglio.
Ho cancellato il secondo foglio.
Eliminato tutti gli eventi programmati salvo il doppio click.
Mi sa che sarà molto difficile venirne a capo.
Grazie delle risposte.
Consigli o soluzioni sempre ben accetti....

Re: Evento click ballerino

Inviato: domenica 25 agosto 2024, 9:19
da charlie
Ho fatto copia/incolla su un nuovo file, aggiungendo la macro e assegnandola all'evento doppio clic del foglio.
Mi sembra che funzioni anche dopo diversi salvataggi del file.

Re: Evento click ballerino

Inviato: domenica 25 agosto 2024, 10:39
da Lanfranchi G.Luigi
Grazie Charlie.
Farò un copia incolla del file originale che contiene molta più "roba".
Poi un copia incolla delle sub e vedrò...

Re: Evento click ballerino

Inviato: domenica 25 agosto 2024, 14:46
da Lanfranchi G.Luigi
Ho eseguito un copia incolla dal file originale ad un nuovo file.
Tanta roba ma ne è valsa la pena (grazie).
L'errore non si ri presenta più. :bravo: