Sviluppare funzionalita su Microsoft Office con VBA INVIO automatico alla digitazione di certi tasti

Login Registrati
Stai vedendo 25 articoli - dal 1 a 25 (di 61 totali)
  • Autore
    Articoli
  • #51028 Score: 0 | Risposta

    ABRAMO48
    Partecipante
      1 pt

      Buongiorno,

      Mi capita di dover riportare, da una tabella manuale, dei codici dentro una tabella excel che vi allego.

      Nell'allegato potete vedere dei codici a due lettere AM AF oppure CM CF in realtà viene digitato o una A o una C che poi viene aggiunta una M o una F secondo se è Mercoledì o Festivo.

      Insomma il codice digitato è sempre di una sola lettera A C R M o F oppure viene digitato un numero, come potete vedere.

      Il mio problema è la scocciatura, quando digito una lettera è di dover sempre battere il tasto INVIO, cioè A INVIO, M INVIO, F INVIO, ...

      Domanda c'è modo, quando digito di intercettare la digitazione e se ho digitato una lettera di far si che si abbia anche un INVIO automatico? per cui nella seconda colonna dell'allegato (in genere inserisco i dati per colonna) invece di digitare:

      A INVIO, F INVIO, 4 INVIO, M INVIO, A INVIO, C INVIO, . INVIO, C INVIO, M INVIO

      avrei digitato:

      A, F, 4 INVIO, M, A, C, . INVIO, C, M

      Una bella differenza, 7 INVIO in meno ... su una colonna ...

      Grazie!

       

      Allegati:
      You must be logged in to view attached files.
      #51030 Score: 0 | Risposta

      alexps81
      Moderatore
        58 pts

        Meglio se alleghi un file si esempio. Con le immagini si fa poco. Ad ogni modo credo che stiamo parlando di evocare l'evento Change del Foglio, la funzione Intersect e la proprietà Offset di range.

        #51031 Score: 0 | Risposta

        DeletedUser
        Bloccato
          13 pts

          è impossibile utilizzare in un modulo o nell'evento del foglio interessato,

          un semplice SendKeys?

          che il richiedente è invitato a studiarsi ed nel caso applicare alle Sue esigenze?

          #51036 Score: 0 | Risposta

          vecchio frac
          Senior Moderator
            272 pts

            alexps81 ha scritto:

            stiamo parlando di evocare l'evento Change del Foglio

            Non si puo', secondo me. L'evento attende che la cella venga modificata e per ottenere questo serve premere Invio.

            Vedo una sola soluzione e cioe' mimare la tabella del foglio con un userform, dove i controlli textbox possono esporre l'evento KeyUp (KeyDown, KeyPress) utili allo scopo.

            #51039 Score: 0 | Risposta

            scossa
            Partecipante
              37 pts

              ABRAMO48 ha scritto:

              per cui nella seconda colonna dell'allegato (in genere inserisco i dati per colonna) invece di digitare:

              A INVIO, F INVIO, 4 INVIO, M INVIO, A INVIO, C INVIO, . INVIO, C INVIO, M INVIO

              avrei digitato:

              A, F, 4 INVIO, M, A, C, . INVIO, C, M

              ma la virgola presumo tu non la voglia digitare, altrimenti tanto vale premere invio, giusto?

              P.S. posta il codice che utilizzi ed allega il file (senza eventuali dati sensibili).

              #51040 Score: 0 | Risposta

              vecchio frac
              Senior Moderator
                272 pts

                Secondo me scossa sta pensando ad Application.OnKey... a me e' venuto in mente soltanto adesso, scusate ma non sono sveglio come scossa   

                Questo approccio potrebbe permettere di attivare una combinazione di tasti che quando premuti lanciano una procedura specifica (non funziona con le singole lettere ma possiamo andarci vicino, il mio test funziona premendo ad esempio Shift+M e questo inserisce la M nella cella attiva).

                Quindi (tanto per sparare un test):

                '------------------------------------
                'codice del Foglio1
                Private Sub Worksheet_Activate()
                    Application.OnKey "+M", "onkey_M"
                End Sub
                
                '------------------------------------
                'codice di un Modulo standard
                Function onKey_M()
                    If ActiveSheet.Name = "Foglio1" And Not Intersect(ActiveCell, Range("A1:A20")) Is Nothing Then
                        ActiveCell = "M"
                    End If
                End Function

                Adesso se nell'intervallo A1:A20 del Foglio1 io premo Shift+M, viene inserita una M maiuscola nella cella attiva. In qualunque altra cella del foglio, premere Shift+M non ha alcun effetto.

                #51041 Score: 0 | Risposta

                ABRAMO48
                Partecipante
                  1 pt

                  Grazie Amici! Vi sto seguendo incuriosito nelle vostre risposte, (per ora non posso provare ad applicare i vostri suggerimenti, ho problemi d'altro tipo ...).

                  Intanto, sto già utilizzando Intersect per trasformare p.e. una A digitata in AF se la casella in cui è inserita è in un giorno Festivo (e anche per controllare che i codici digitati siano quelli previsti).

                  Ma come ha detto Vecchio Frac questo avviene "dopo" aver battuto il tasto INVIO.

                  Mi studierò Application.OnKey come suggerito da vecchio Frac su intuizione di Scossa (no, no, la virgola non va digitata ...).

                  Grazie carissimi, vi farò sapere ...

                  E' un problema interessante noo?

                  #51042 Score: 0 | Risposta

                  vecchio frac
                  Senior Moderator
                    272 pts

                    Si', e' comunque interessante e abbastanza stimolante, adesso che ci penso meglio la soluzione che intercetta Shift+M ha lo svantaggio che nel foglio in cui e' attivata, se fuori dal range previsto, non scrive niente, mentre normalmente si vedrebbe la M maiuscola.

                    Per riottenere il comportamento normale basta un piccolo intervento sul codice del modulo:

                    Function onkey_M()
                        If ActiveSheet.Name = "Foglio1" And Not Intersect(ActiveCell, Range("A1:A20")) Is Nothing Then
                            ActiveCell = "M"
                        Else
                            Application.SendKeys ("{F2}{HOME}M")
                        End If
                    End Function

                    ABRAMO48 ha scritto:

                    sto già utilizzando Intersect per trasformare p.e. una A digitata in AF se la casella in cui è inserita è in un giorno Festivo

                    Perche' Intersect? La funzione controlla semplicemente se la cella attiva rientra in un range specifico. Forse devi controllare che il giorno settimana della cella giorno di riferimento sia festivo o no. Comunque non butto troppe castagne sul tuo fuoco... fai i tuoi esperimenti e poi, come gia' e' stato detto, allega file e descrivi i problemi che incontri.

                    #51046 Score: 0 | Risposta

                    scossa
                    Partecipante
                      37 pts

                      Ciao Francesco,

                      vecchio frac ha scritto:

                      Secondo me scossa sta pensando ad Application.OnKey...

                      in realtà no, ma resto in attesa che l'OP posti il codice ed alleghi il file ....

                      #51047 Score: 0 | Risposta

                      vecchio frac
                      Senior Moderator
                        272 pts

                        Credo che nell'attesa possiamo farci una bevuta insieme    ma ero curioso di sentire cosa avresti escogitato. Secondo me, non e' realizzabile senza qualche barbatrucco   

                        #51048 Score: 0 | Risposta

                        DeletedUser
                        Bloccato
                          13 pts

                          #51031

                          Pochi post più  sopra,

                          avevo segnalato la possibilità  dell'utilizzo di

                          SendKeys

                          #51052 Score: 0 | Risposta

                          vecchio frac
                          Senior Moderator
                            272 pts

                            fsm ha scritto:

                            avevo segnalato la possibilità  dell'utilizzo di

                            SendKeys

                            Si' e hai fatto bene, infatti per un'estensione della funzione del mio suggerimento ne ho ipotizzato anch'io un utilizzo.

                            Peccato che non hai indicato come utilizzare l'istruzione nel caso del richiedente, per l'OP dire "puoi usare SendKeys" e' dirgli qualcosa che non sa se e come puo' essergli utile, credo sia per questo che non hai ottenuto un riscontro.

                            #51054 Score: 0 | Risposta

                            DeletedUser
                            Bloccato
                              13 pts

                              vecchio frac ha scritto:

                              Peccato che non hai indicato come utilizzare l'istruzione nel caso del richiedente, per l'OP dire "puoi usare SendKeys" e' dirgli qualcosa che non sa se e come puo' essergli utile, credo sia per questo che non hai ottenuto un riscontro.
                               

                              in attesa che lo staff esegua la mia richiesta di cancellazione del mio account,

                              scusami, sicuramente per mia incapacità,

                              ma continuo a non "capire" che messaggio vuoi "passarmi"

                              di seguito come la vedo io:

                               

                              14/01/2025 ore 13:56 fsm ha scritto
                              in questa discussione
                              https://www.excelvba.it/forumexcel/forums/discussione/invio-automatico-alla-digitazione-di-certi-tasti/

                              cit.
                              è impossibile utilizzare in un modulo o nell'evento del foglio interessato,
                              un semplice SendKeys?
                              che il richiedente è invitato a studiarsi ed nel caso applicare alle Sue esigenze?

                               

                              15/01/2025 ore 18:42 vecchio frac ha scritto
                              in questa discussione
                              https://www.excelvba.it/forumexcel/forums/discussione/errore-misterioso/

                              cit.
                              un modo per ricordare che questo forum non si presta a offrire consulenza gratuita fine a se stessa,
                              ma si cerca di stimolare l'autoapprendimento.

                               

                               

                              #51057 Score: 0 | Risposta

                              vecchio frac
                              Senior Moderator
                                272 pts

                                fsm ha scritto:

                                ma continuo a non "capire" che messaggio vuoi "passarmi"

                                Nessun messaggio   solo differente metodologia didattica...

                                Io penso che non posso buttare li' un "esiste <statement>, cercatelo e imparatelo" e pensare che l'utente alle prime armi sappia anche solo come si fa una ricerca nella guida; e' diverso dal dire che "esiste <statement>, e ti offro un esempio da studiare" (in autoapprendimento).

                                Ma ripeto che e' una metodologia che applico io, mica vuol dire che ho ragione   

                                #51058 Score: 0 | Risposta

                                LucaSR
                                Partecipante
                                  15 pts

                                  Vorrei spezzare una lancia a favore di @fsm, con questo capisco il tuo punto di vista BOSS   

                                  Quando iniziai a programmare in OOP, tanto tempo fa, i forum che seguivo non mi davano MAI la pappa pronta ma adottavano i suggerimenti tipo "prova con SendKey".

                                  Dopo svariate ricerche, stilavo il coding e lo postavo. Da li, mi venivano dati tutti i suggerimenti a riguardo, se avevo sbagliato o come meglio ottimizzare il coding stesso.

                                  Da quando ho riniziato a frequentare i forum ho visto che le cose sono cambiate, non poco!!

                                  Oramai gli utenti vogliono risolvere subito, non si ha più la voglia di imparare e ci si affida a chi di buon cuore gli risolvi i problemi   

                                  #51059 Score: 0 | Risposta

                                  DeletedUser
                                  Bloccato
                                    13 pts

                                    vecchio frac ha scritto:

                                    diverso dal dire che "esiste <statement>, e ti offro un esempio da studiare" (in autoapprendimento).

                                    per quel che so, l'esempio è fornito dalla guida del vba di Excel

                                    sia nella guida off line di vba 2007 e penso precedenti, che da quella on line sulle versioni successive.

                                     

                                    ot

                                    puoi mettere una buona parola con lo staff?

                                    quasi una settimana per cancellare un partecipante, non succede neanche nella ditta scalcagnata dove lavoro....

                                    #51060 Score: 0 | Risposta

                                    LucaSR
                                    Partecipante
                                      15 pts

                                      fsm ha scritto:

                                      quasi una settimana per cancellare un partecipante, non succede neanche nella ditta scalcagnata dove lavoro....

                                      Magari evitando di fare il login, aiuterebbe   

                                      #51061 Score: 0 | Risposta

                                      DeletedUser
                                      Bloccato
                                        13 pts

                                        vecchio frac ha scritto:

                                        solo differente metodologia didattica...

                                        a Roma dicono: vamose a capì...

                                        da una parte dici che il forum non deve fornire minuziosa e forse... risolutiva assistenza

                                        al fine di invogliare l'autoapprendimento degli OP,

                                        e dall'altra che chi è disponibile, deve fornire esempi esaustivi che sono già presenti nella guida e da 

                                        ogni utilizzatore del software consultabili?

                                         

                                           

                                        #51062 Score: 0 | Risposta

                                        DeletedUser
                                        Bloccato
                                          13 pts

                                          LucaSR ha scritto:

                                          Magari evitando di fare il login, aiuterebbe

                                          grazie Luca, OTTIMO consiglio, vedrò di seguirlo   

                                          il fatto è che certe spiegazioni.... gridano ulteriori chiarimenti.

                                          prometto di cercare di seguire il tuo prezioso suggerimento.

                                          Nel caso, la buona parola la chiederò a te 

                                           

                                          #51063 Score: 0 | Risposta

                                          vecchio frac
                                          Senior Moderator
                                            272 pts

                                            fsm ha scritto:

                                            da una parte dici che il forum non deve fornire minuziosa e forse... risolutiva assistenza

                                            al fine di invogliare l'autoapprendimento degli OP,

                                            e dall'altra che chi è disponibile, deve fornire esempi esaustivi che sono già presenti nella guida e da 

                                            ogni utilizzatore del software consultabili?

                                            Ma io ho gia' detto che nel tempo, nel lungo tempo della mia esperienza in forum, cambiato numerose volte il mio atteggiamento, da quello piu' disponibile e sfrenatamente pappaprontista a quello piu' sfaccciatamente  e ostinatamente attendista. Le ho sperimentate tutte e quindi parlo con cognizione di causa. Ripeto pero' che e' la mia esperienza, non e' quella giusta e forse nemmeno quella sbagliata: dipende da chi hai davanti, da come si pone e anche dal contesto, non ultimo dipende anche dalle mie vicende personali. Del resto non ho mai preteso da nessuno di essere pronto a fornire esempi esaustivi eccetera, questo lo hai detto tu.

                                            Sulla tua cancellazione dal forum, io non ho questo superpotere ma contattero' Admin.

                                            #51064 Score: 0 | Risposta

                                            gianfranco55
                                            Partecipante
                                              91 pts

                                              ciao

                                              vorrei dire la mia anche se con le formule è tutto più semplice.

                                              il forum non è il/la CEPU

                                              nel forum il 90% di chi fa richieste non gliene frega una mazza di imparare

                                              quei pochi a cui interessa  si studiano la macro/formula proposta.

                                              Io se riesco rispondo a tutti sia sistemando le formule che utilizzano  sia proponendo altre versioni

                                              per me più congeniali.

                                              poi vuoi imparare te la studi non vuoi...e chi se ne frega

                                              NB

                                              quel poco che so l'ho imparato dai forum (dalle spiegazioni microsoft o dai libri non impari tutte le concatenazioni

                                              che si fanno con le formule)

                                              ma io avevo intenzione di imparare altrimenti sarei ancora in difficoltà

                                              con il cerca verticale.

                                              in tutti i forum ci sono le due correnti di pensiero 

                                              #51065 Score: 1 | Risposta

                                              vecchio frac
                                              Senior Moderator
                                                272 pts

                                                @gianfranco

                                                E' da un po' che volevo dirti, ma non ne avevo l'occasione, che mi hanno finalmente installato Office 365 in ufficio. Per me un salto stratosferico (da Office 2007, capirai). Adesso sto imparando diverse nuove formule in Excel e devo dire, alcune veramente semplificano e accelerano (a cominciare da LET che trovo fantastica).

                                                #51066 Score: 1 | Risposta

                                                gianfranco55
                                                Partecipante
                                                  91 pts

                                                  ciao

                                                  ti regalo dei file sono in inglese  ma le formule vengono tradotte in italiano (per fortuna  )

                                                  tu dovresti andare a nozze con LAMBDA che sostituisce di fatto

                                                  le funzioni

                                                   

                                                  Allegati:
                                                  You must be logged in to view attached files.
                                                  #51070 Score: 0 | Risposta

                                                  DeletedUser
                                                  Bloccato
                                                    13 pts

                                                    vecchio frac ha scritto:

                                                    Ma io ho gia' detto che nel tempo, nel lungo tempo della mia esperienza in forum, cambiato numerose volte il mio atteggiamento, da quello piu' disponibile e sfrenatamente pappaprontista a quello piu' sfaccciatamente  e ostinatamente attendista. Le ho sperimentate tutte e quindi parlo con cognizione di causa.

                                                    Onore al merito!

                                                    questo l'ho visionato più volte nei post nello storico.

                                                    Ma non vorrei essere richiamato da LucaSR e sperando di dimenticare la password di accesso

                                                    confermo questo mio post come ultimo.

                                                    Non dimenticare di contattare lo Staff per la mia cancellazione.

                                                    grazie

                                                     

                                                    #51071 Score: 0 | Risposta

                                                    LucaSR
                                                    Partecipante
                                                      15 pts

                                                      fsm ha scritto:

                                                      Ma non vorrei essere richiamato da LucaSR e sperando di dimenticare la password di accesso

                                                      Io non richiamo nessuno, sia perché non è il mio compito e sia perché alla fine non mi cambia niente     

                                                      Quello che tu hai preso come consiglio non lo era, era un modo sarcastico di ribadire quello che ti ho detto in un altro post, almeno penso.

                                                      Mi sembra esagerato abbandonare il forum soltanto perché ti si è fatto notare qualcosa. 

                                                    Login Registrati
                                                    Stai vedendo 25 articoli - dal 1 a 25 (di 61 totali)
                                                    Rispondi a: INVIO automatico alla digitazione di certi tasti
                                                    Gli allegati sono permessi solo ad utenti REGISTRATI
                                                    Le tue informazioni: