Gestione Drag&Drop
Info
Esempi
Linguaggio
Librerie
Formule
Ultimi Inseriti

 Login

 Password

Purtroppo sui fogli di calcolo di Excel non è possibile gestire direttamente gli eventi che consentirebbero di implementare la gestione del Drag & Drop, ovvero lo spostamento delle informazioni da una parte all'altra del foglio “spostandole” con il mouse come siamo abituati a fare con i file.
E' una cosa che però sarebbe molto utile in alcune file, un esempio classico potrebbe essere quello una gestione dei turni quando non sono sufficienti semplici formule: la modifica fatta "tirando" i turni con il mouse o spostandole con il copia-incolla è decisamente comoda ed intuitiva. [p]Oppure altro caso è quello della gestione di un archivio di file: questo codice è stato creato proprio per gestire un archivio di foto; nel file creato lo spostamento dei nomi sul file produce uno spostamento dei file sul disco.
Le procedure e classi di questo file consentono di gestire le modifiche sul foglio, che siano fatte trascinando le celle con il mouse o usando il taglia-incolla, creando un “evento” per ogni modifica e ogni cella interessata. Nel caso di intervalli di celle interessate viene semplicemente creato un “evento” per ogni cella in modo da poterli gestire separatamente.

Gli eventi gestiti dal file:
  1. Sposta: Valore da Cella(Precedente) a Cella(Attuale)
  2. Cancella: Valore da Cella
  3. Modifica: Valore(Precedente) su Cella a Valore(Attuale)
  4. Nuovo: Valore(nuovo) su Cella
Vengono gestiti anche i casi in cui una azione produce un doppio evento come nel caso in cui le celle vengono spostate su celle già “occupate” da altri valori. In questo caso ci sarà prima una cancellazione e poi uno spostamento consentendo di gestire gli eventi nella giusta sequenza.

Per gestire gli eventi nel proprio file sarà sufficiente modificare questa procedura:
Sub Mf_EventoSpostamento(Azione, Valore1, Cella1, Valore2, Cella2)
  Select Case Azione
    Case "Sposta":
      'Sposta: valore1 da Cella1(Precedente) a Cella2(Attuale)
    Case "Cancella":
      'Cancella: Valore1 da Cella1
    Case "Modifica":
      'Modifica: Valore1(Precedente) su Cella1 in Valore2(Attuale)
    Case "Nuovo":
      'Nuovo: Valore1(nuovo) su Cella1
  End Select
End Sub



I file scaricabili associati a questo articolo e il codice delle funzioni sono riservati agli utenti abbonati del sito.


Gli esempi contenuti nel sito sono per uso personale, non é consentito l'uso professionale, commerciale o la riproduzione senza autorizzazione.
Per dubbi o domande potete scriverci a domande@macrofacili.it, sulla nostra pagina FB MacroFacili.it o sul gruppo FB Excel, macro e formule.
 

data4idea srls - PIva 01881000937 - info@data4idea.it