Condividi:        

MSG BOX VARIABILE

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

MSG BOX VARIABILE

Postdi Valerio93 » 08/03/17 11:09

Buongiorno a tutti,
Ho visto che sul forum sono già presenti diverse discusisoni a tema MsgBox ma nessuna nello specifico rispecchia il mio problema.

Quindi, devo chiedere il vs gentile aiuto per quanto segue:
Avrei bisogno di una MsgBox che compai soltanto alla compilazione di una determinata cella, poniamo "A1" e riporti al suo interno il messaggio contenuto in un secondo foglio, nella cella della riga corrispondente al dato immesso nella cella "A1".

Es:
Foglio 1
A1 = Codice Cliente "1234"

Foglio 2 (Database)
A1 - A200 = Codici Clienti
B1 - B200 = Descrizioni Clienti

All'immisisone in "Foglio 1 - A1" del codice cliente "1234", compare un MsgBox contenete la Descrizione Cliente corrispondente, riporatata nel Foglio 2.

Spero di essere stato chiaro,
Vi ringrazio in anticipo per l'aiuto! :)
Valerio93,
Valerio93
Utente Junior
 
Post: 13
Iscritto il: 07/09/15 09:16
Località: Roma

Sponsor
 

Re: MSG BOX VARIABILE

Postdi alfrimpa » 08/03/17 11:57

Ciao Valerio

La cosa che chiedi è tranquillamente fattibile con il VBA.

Allega un piccolo file di esempio con pochi dati e spiega, sulla base di questo, quello che vuoi fare/ottenere.

Il MsgBox deve comparire quando selezioni la cella (A1 del foglio1) o quando vi immetti un dato?

La cosa deve essere limitata ad A1 del foglio1 o estesa anche ad altre celle?
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: MSG BOX VARIABILE

Postdi Valerio93 » 08/03/17 12:22

Intanto grazie per la rapida risposta,

Il MsgBox deve comparire quando selezioni la cella (A1 del foglio1) o quando vi immetti un dato?

Dunque, il messaggio dovrebbe comparire dopo l'immisisone del dato, ancora meglio se comparisse dopo la pressione di un pulsante che lancia la sudetta macro.

La cosa deve essere limitata ad A1 del foglio1 o estesa anche ad altre celle?

Solo l'ipotetica cella A1 del foglio A1 nella quale si inserisce il dato.

Ti ho inviato un PM per mandarti il file d'esempio.

Grazie ancora!
Valerio93,
Valerio93
Utente Junior
 
Post: 13
Iscritto il: 07/09/15 09:16
Località: Roma

Re: MSG BOX VARIABILE

Postdi alfrimpa » 08/03/17 12:25

Per allegare il file non devi scaricare nulla dalla rete.

Devi solo caricare il file su un sito di file sharing tipo Filedropper o Dropbox.

Quando lo avrai caricato questo ti restituirà un link che copierai ed incollerai qui sul forum.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: MSG BOX VARIABILE

Postdi alfrimpa » 08/03/17 12:36

Comunque una macro di questo tipo fa quello che hai chiesto

Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("a1")) Is Nothing Then
    MsgBox Application.WorksheetFunction.VLookup(Target.Value, Worksheets("Foglio2").Range("a2:b6"), 2, False)
End If
End Sub


Sei in grado di capirla ed applicarla al tuo file?
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: MSG BOX VARIABILE

Postdi Anthony47 » 08/03/17 12:47

@valerio:
Permettimi di dire che ritengo quell'interfaccia che hai descritto noiosa e irritante per l'utente, visto che basterebbe un Cerca.Vert per presentare accanto alla cella modificata il risultato, in modo immediato e non interrompente.
Cio' detto, propongo un piccola variante alla macro di Alfredo:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myC
If Target.Address = "$A$1" Then      '<<< La cella compilata
    myC = Application.VLookup(Target.Value, Sheets("Foglio2").Range("A1:B200"), 2, 0) '<<< Foglio e area in cui guardare
    If IsError(myC) Then mess = "Codice non trovato" Else mess = myC
    MsgBox (mess)
End If
End Sub
Utilizzo
-tasto dx sul tab col nome del foglio di lavoro che viene compilato; scegli Visualizza codice
-copi il codice e lo incolli nel frame destro vuoto dell'editor delle macro che e' stato aperto
Personalizza come da commento le due righe marcate <<<

Poi torna sul foglio di lavoro e vedi l'effetto che fa.

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

Re: MSG BOX VARIABILE

Postdi Valerio93 » 08/03/17 16:54

Ragazzi,
Non sono propriamente un novello di Excel.

Alfredo, purtroppo sono impossibilitato dalla rete aziendale ad accedere ai suddeti siti di sharing ed upload, altrimenti non avrei esitato a farlo. Ti ringrazio comunque per la tua collaborazione, gentilissimo.

Anthony, è proprio ciò che mi serve! Avevo pensato anche io ad un cerca.vert ma ho bisogno che l'interfaccia sia invasiva ed irritante perchè deve essere notata! Dunque avevo optato per la MsgBox.

Comunque, come sempre, vi confermate i migliori.
Grazie ancora!
Valerio93,
Valerio93
Utente Junior
 
Post: 13
Iscritto il: 07/09/15 09:16
Località: Roma


Torna a Applicazioni Office Windows


Topic correlati a "MSG BOX VARIABILE":


Chi c’è in linea

Visitano il forum: Nessuno e 51 ospiti