Condividi:        

elenco dati DDE

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: elenco dati DDE

Postdi Anthony47 » 26/02/16 23:44

Un modello "universale":
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Cdati = "C5:I5"
If Not Application.Intersect(Target, Range(Cdati)) Is Nothing Then
    If Target <> "" Then Run "UnaCosa" & Target.Value
    Exit Sub
End If
   
Cdati = "J5:O5"
If Not Application.Intersect(Target, Range(Cdati)) Is Nothing Then
    If Target <> "" Then Run "AltraCosaAA" & Target.Value
    Exit Sub
End If
   
Cdati = "P:R"
If Not Application.Intersect(Target, Range(Cdati)) Is Nothing Then
    If Target <> "" Then Run "AltraCosaBB" & Target.Value
    Exit Sub
End If
   
Cdati = "P:R"
If Not Application.Intersect(Target, Range(Cdati)) Is Nothing Then
    If Target <> "" Then Run "AltraCosaBB" & Target.Value
    Exit Sub
End If
'
'altri blocchi simili a piacere
'
End Sub

Ti raccomando di applicare ai codici che pubblichi il "tag" Code (selezioni il testo completo, premi il pulsante Code che trovi in testa al textbox del messaggio).

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Sponsor
 

Re: elenco dati DDE

Postdi larzillo » 28/02/16 18:57

anthony , salve in primis grazie , vista in ritardo ma provata e sembra funzionare.
problema ho pensato ad un modo per risolvermi dei probl
vorrei , col mouse o da tastiera selezionare una precisa cella su foglio1 , attivare una macro con pulsante , che leggesse il valore della cella individuata , andasse in un altro foglio e all'interno di una colonna individuasse lo stesso valore e cancellasse a destra il contenuto della cella (sulla stessa riga ) adiacente e la successiva .nota bene non deve cancellare il valore trovato nella colonna ma solo quelli adiacenti
esempio foglio 1 col mause individuo, cliccandoci sopra, la cella P5 con all'interno valore 22,5 clicco bottone macro, deve cercare nella colonna V5:V40, del foglio 2,il valore corrispondente alla cella del foglio 1 e se lo trova nella cella V15 , deve cancellare (clean) il contenuto delle celle W e X. non quello in V15.(senza modificare nulla ,righe colonne ecc)
naturalmente a partire da un'altra cella in foglio 1 con un'altra macro deve individuare una colonna differente con gli stessi comandi
spero di essermi spiegato...
a prop in precedenza allegavo male le istruzioni perche usavo il "risposta veloce" , e non trovavo il tasto che mi suggerivi , usando "rispondi" invece ho visto il tasto per allegare correttamente le istruzioni,
c'è poco da fare quando uno è ritardato .....
larzillo
Utente Junior
 
Post: 40
Iscritto il: 20/09/15 22:55

Re: elenco dati DDE

Postdi Anthony47 » 29/02/16 00:37

Una delle tante possibilita':
-tasto dx sul tab col foglio di partenza; scegli Visualizza codice; inserisci questo codice:
Codice: Seleziona tutto
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim myMatch, myRan As Range
If Target.Value <> "" Then
    Cancel = True
Else
    Exit Sub
End If
'>>> Impostazioni:
If Target.Address = "$F$6" Then Set myRan = Sheets("Foglio2").Range("V5:V40")
If Target.Address = "$F$7" Then Set myRan = Sheets("Foglio3").Range("AA5:AA40")
'etc etc
'
myMatch = Application.Match(Target.Value, myRan, 0)
If Not IsError(myMatch) Then
    myRan.Cells(1, 1).Offset(myMatch - 1, 1).Resize(1, 2).ClearContents
End If
End Sub

In questo modo quando selezioni una cella e poi fai "tasto dx" partira' la macro che dovrebbe fare quel che chiedi.
Personalizza le celle marcate >>>.

Se hai altre questioni non su questo argomento e' meglio che apri una nuova discussione.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: elenco dati DDE

Postdi larzillo » 29/02/16 05:46

puntuale come sempre , grazie funziona
problema...
è possibile modificare la macro in modo che l' istruzione sia attiva su un range di celle tipo "C5:I5" invece che sulla sola cella " $F$6", ovviamente selezionando sempre una cella alla volta del range per eseguire la macro.
ciao luigi
larzillo
Utente Junior
 
Post: 40
Iscritto il: 20/09/15 22:55

Re: elenco dati DDE

Postdi larzillo » 29/02/16 08:31

prima di rispondere alla domanda sopra.
con la istruzione "universale" hai risolto il problema con evento change , che, in un range , al variare del valore nella celle , mi preleva il modulo di riferimento ed effettua le operazioni che sai,(la riga , dove seleziono i range è la 5) con la seconda istruzione ,selezionata la cella , rileva il valore e dopo opportuna ricerca cancella i dati che voglio.(le celle dove si collocano i dati da cancellare sono sulla riga 6 e si trovano esattamente sotto le celle dove vario i dati con la istruzione universale ) tutto ok
vorrei automatizzare la cosa:
, nel senso che quando vario il dato nella cella esempio D5 (che lancia"universale")mi agisca da imput lanciando la seconda istruzione nella cella D6 .naturalmente il range dove agisce universale (per es. C5:I5 )è identico al range dove deve agire la seconda istruzione(C6:I6) che per comodita chiamero cancella ,(identiche colonne , righe differenti) inoltre sarebbe preferibile all'interno di "universale" prima far agire cancella e poi la universale.
non so se è preferibile unire le due cose all'interni della stessa istruzione , oppure far attivare con lo stesso imput le due istruzioni mantenendole separate, dico questo perche la universale è un po piu lenta , mentre la cancella è piu veloce, vedi tu
spero di non averti confuso troppo le idee.
larzillo
Utente Junior
 
Post: 40
Iscritto il: 20/09/15 22:55

Re: elenco dati DDE

Postdi Anthony47 » 01/03/16 00:18

Rispondo alla prima perche' la seconda non l'ho capita.
Si fa cambiando le "impostazioni":
Codice: Seleziona tutto
'>>> Impostazioni:
If Not Application.Intersect(Range("C5:I5"), Target) Is Nothing Then Set myRan = Sheets("Foglio2").Range("V5:V40")
If Not Application.Intersect(Range("F10:Z10"), Target) Is Nothing Then Set myRan = Sheets("Foglio2").Range("AA5:AZ40")
'etc etc

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: elenco dati DDE

Postdi larzillo » 01/03/16 08:31

ciao ,
visto ora , provata . sembra OK
per ora provo un po cosi , eventualmente mi faccio risentire
volevo cmq dire che hai fatto un grande lavoro
grazie

dal mio punto di vista :o :o tu essere grande mago :lol: :lol:
ariciao
larzillo
Utente Junior
 
Post: 40
Iscritto il: 20/09/15 22:55

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "elenco dati DDE":


Chi c’è in linea

Visitano il forum: Nessuno e 55 ospiti