Condividi:        

Autoinserimento di un Valore con click del mouse

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

Autoinserimento di un Valore con click del mouse

Postdi marte1503 » 27/12/11 12:52

Ciao a tutti e Buone Feste

In Foglio14, le colonne G e H (denominate Sì e No) per 200 righe, partendo dalla riga 5 alla 204 prevedono rispettivamente l’inserimento della parola “Sì” e ”No”, (al momento uso la convalida dati da elenco ma è un procedimento che mi fa perdere un po’ di tempo…) Sarebbe possibile inserire automaticamente la parola “Sì” tramite click sinistro del mouse partendo da G5 a G204 e “No” partendo da H5 a H204 facendo in modo che si autocancelli il Sì (per esempio in G5se clicco sul No in H5 e viceversa?)

Grazie
Marte1503
marte1503
Utente Senior
 
Post: 232
Iscritto il: 08/01/10 20:43
Località: Como

Sponsor
 

Re: Autoinserimento di un Valore con click del mouse

Postdi Flash30005 » 27/12/11 14:29

Inserisci questo codice nel VBA del foglio interessato

Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CheckareaG = "G5:G204"
CheckareaH = "H5:H204"
If Not Application.Intersect(ActiveCell, Range(CheckareaG)) Is Nothing Then
    If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then GoTo SaltaG
    If Target = "" Then
        Target = "SI"
        ActiveCell.Offset(0, 1).Value = ""
    Else
        Target = ""
    End If
End If
   
SaltaG:

If Not Application.Intersect(ActiveCell, Range(CheckareaH)) Is Nothing Then
    If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
    If Target = "" Then
        Target = "No"
        ActiveCell.Offset(0, -1).Value = ""
    Else
        Target = ""
    End If
End If
End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Autoinserimento di un Valore con click del mouse

Postdi marte1503 » 27/12/11 20:43

Perfetto Flash!!

Ora sì che è veloce la procedura!

Grazie 1000 per l'aiuto ;)

Ciao e a presto

Marte
marte1503
Utente Senior
 
Post: 232
Iscritto il: 08/01/10 20:43
Località: Como

Re: Autoinserimento di un Valore con click del mouse

Postdi Cedamido » 31/12/11 17:01

Per Flash, scusami se Ti disturbo, vorrei sapere se la macro si può usare per altri fogli, su un foglio funziona, più di uno non funziona, dovrei usarla su dieci fogli.
Grzie, auguri di buon anno.
excel 2003
Cedamido
Utente Senior
 
Post: 314
Iscritto il: 17/08/08 23:26

Re: Autoinserimento di un Valore con click del mouse

Postdi Anthony47 » 01/01/12 21:57

Devi mettere quel codice in ognuno dei "moduli di codice" dei fogli interessati: tasto dx sul tab col nome foglio, scegli Visualizza codice; inserisci il codice; ripeti per il foglio successivo.
Se l' operazione va fatta su "tutti" i fogli, puoi mettere il codice nel modulo ThisWorkbook e sostituire la prima riga con
Codice: Seleziona tutto
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)


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

Re: Autoinserimento di un Valore con click del mouse

Postdi Cedamido » 01/01/12 22:49

Ok grazie a gonfie vele.
excel 2003
Cedamido
Utente Senior
 
Post: 314
Iscritto il: 17/08/08 23:26

Re: Autoinserimento di un Valore con click del mouse

Postdi marte1503 » 05/11/22 18:40

Ciao a tutti, dopo più di 10 anni che non utilizzo Excel, ora torno ad averne bisogno e con mio disappunto scopro di non ricordarmi più niente di niente di quel poco che avevo imparato... :oops:

Ritorno su questo topic perché la mia necessità attuale è molto simile a quella postata anni fa, la differenza è che questa volta avrei bisogno di inserire con il click del mouse la lettera x nella cella selezionata oppure rischiacciando di toglierla.

ho provato basandomi sulla macro creata da flash anni fa a modificare i dati, ma non comprendo il significato delle informazioni e non riesco a sistemare gli errori...

Per esempio se clicco sulla cella C15 la x viene inserita, ma se rischiaccio subito non la toglie; devo andare su C16 dove compare la x e tornare su c15 per toglierla... A volte, come se non bastasse cancella anche dei dati presenti nelle celle adiacenti

posto la macro così come l'ho inserita, spero in una vostra correzione

Grazie a tutti

Codice: Seleziona tutto
Sub Inserisce_la_x_con_click_mouse()

'
'  Inserisce_la_x_con_click_mouse

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CheckareaC = "C15:C21"
CheckareaE = "E15:E21"
CheckareaG = "G15:G21"
CheckareaI = "I15:I21"
If Not Application.Intersect(ActiveCell, Range(CheckareaC)) Is Nothing Then
    If Target = "" Then
        Target = "x"
        ActiveCell.Offset(1, 1).Value = ""
    Else
        Target = ""
    End If
End If

If Not Application.Intersect(ActiveCell, Range(CheckareaE)) Is Nothing Then
    If Target = "" Then
        Target = "x"
        ActiveCell.Offset(1, 1).Value = ""
    Else
        Target = ""
    End If
End If

If Not Application.Intersect(ActiveCell, Range(CheckareaG)) Is Nothing Then
    If Target = "" Then
        Target = "x"
        ActiveCell.Offset(1, 1).Value = ""
    Else
        Target = ""
    End If
End If

If Not Application.Intersect(ActiveCell, Range(CheckareaI)) Is Nothing Then
    If Target = "" Then
        Target = "x"
        ActiveCell.Offset(1, 1).Value = ""
    Else
        Target = ""
    End If
End If
End Sub
marte1503
Utente Senior
 
Post: 232
Iscritto il: 08/01/10 20:43
Località: Como

Re: Autoinserimento di un Valore con click del mouse

Postdi Anthony47 » 05/11/22 19:11

Bentornato!

Usiamo l'evento "Doppio Click", che mi pare piu' idoneo a compiere una azione voluta e non casuale (come potrebbe succedere con SelectionChange).

Sempre Tasto Dx sul tab col nome del foglio su cui lavori, scegli Visualizza codice
Elimina la Sub Worksheet_SelectionChange e inserisci questo codice:
Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'  Inserisce_la_x_con_doppioclick_mouse
CheckareaC = "C15:C21,E15:E21,G15:G21,I15:I21"
If Not Application.Intersect(Target, Range(CheckareaC)) Is Nothing Then
    If Target = "" Then
        Target = "x"
'        ActiveCell.Offset(1, 1).Value = ""
    Else
        Target.ClearContents
    End If
End If
Cancel = True
End Sub

Ti ho commentato l'istruzione ActiveCell.Offset(1, 1).etc etc perche' non capisco cosa debba fare; se ti serve riabilita togliendo l'Apostrofo a inizio della riga

Ora torna sul foglio e prova con dei Doppio-Click sulle celle che ti interessano

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

Re: Autoinserimento di un Valore con click del mouse

Postdi marte1503 » 05/11/22 19:57

Ciao Anthony;
grazie 1000!
Ancora una volta riesci a risolvere i miei problemi.
La tua macro funziona benissimo e ha eliminato tutti i malfunzionamenti della precedente tentata da me.

Ora voglio cercare di capire i comandi che hai utilizzato tu, anche se non conosco il VB e come dicevo prima ho praticamente rimosso tutto quello che avevo imparato. Ti assicuro che è proprio come ripartire da zero... Ahimè...
Grazie ancora!
Buona serata
Ciao
marte1503
Utente Senior
 
Post: 232
Iscritto il: 08/01/10 20:43
Località: Como

Re: Autoinserimento di un Valore con click del mouse

Postdi marte1503 » 05/11/22 20:21

Ho dato un'occhiata al tuo codice,
pur capendoci davvero poco, intuisco che con questa istruzione

Codice: Seleziona tutto
CheckareaC = "C15:C21,E15:E21,G15:G21,I15:I21"
If Not Application.Intersect(Target, Range(CheckareaC)) Is Nothing Then


hai ridotto di molto il volume della macro evitando un sacco di informazioni inutili..

Una domanda stupida.. Come si impara a programmare in VB?
C'è un libro che puoi consigliarmi per comprendere un po' le macro ovviamente una cosa entry level
Grazie
marte1503
Utente Senior
 
Post: 232
Iscritto il: 08/01/10 20:43
Località: Como

Re: Autoinserimento di un Valore con click del mouse

Postdi Anthony47 » 06/11/22 09:12

La mia conoscenza deriva da "qualche anno" di pratica e non ho mai seguito corsi sull'argomento.
Io ti consiglio di cominciare a registrare semplici macro, ispezionarne il codice e capirlo, per poi modificarlo in modo sempre piu' intenso.
Potresti partire da qui: viewtopic.php?f=26&t=103893&p=622593#p622593; trovi poi degli esempi su come modificare una macro e come debuggarla.
Non e' da trascurare l'ottima documentazione Microsoft; si parte da qui https://docs.microsoft.com/it-it/office ... /overview/ poi nel menu a sx puoi scegliere il programma (Excel) e sempre piu' in dettaglio: i concetti, gli "Oggetti", metodi e proprieta'.
Ma puoi sempre arrivarci in modo mirato se, dal vba, selezioni una parola chiave e premi F1.
Ti potra' aiutare anche leggere qualche buon libro che tratti di vba; se parli l'inglese ne trovi parecchi, in Italiano c'e' meno offerta. Se passi in una buona libreria (le Feltrinelli o Mondadori sono tra le piu' dotate) troverai certamente qualcosa di appropriato.
Poi una volta partito solo la pratica ti puo' far fare il salto di qualita'.
Avatar utente
Anthony47
Moderatore
 
Post: 19221
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Autoinserimento di un Valore con click del mouse

Postdi marte1503 » 06/11/22 11:40

Ti ringrazio!

Purtroppo non parlo nemmeno un po' l'inglese e di certo la cosa non mi aiuta...
Comunque cercherò di interpretare le istruzioni.. Tempo fa qualcosina mi era entrato in zucca..

A presto, grazie ancora.
marte1503
Utente Senior
 
Post: 232
Iscritto il: 08/01/10 20:43
Località: Como


Torna a Applicazioni Office Windows


Topic correlati a "Autoinserimento di un Valore con click del mouse":

BTp Valore
Autore: MarioLombardi
Forum: Forum off-topic
Risposte: 2

Chi c’è in linea

Visitano il forum: Anthony47 e 32 ospiti