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

    nicopana
    Partecipante
      Che io sappia i due modi per utenti base per attivare una macro è o assegnarla ad una forma, oppure eseguire una combinazione da tastiera.
      Vorrei chiedere una cosa: se durante l'imputazione di una serie di dati su una riga con la tastiera, la macro può essere inserita all'interno della cella più estrema, per esempio quella più a destra, in modo tale che continuo e ci arrivo su dopo l'imputazione con la tastiera, clicco Invio e parte la macro?
      #1743 Score: 0 | Risposta

      Luca73
      Partecipante
        58 pts
        Ciao
        Oltre alle forme e pulsante e Combinazione di tasti,
        le macro "normali" possono essere fatte partire da icona.
        Esistono poi delle macro particolari che partono ad evento ovvero per esempio quando attivi un foglio, quando cambi le celle, quando apri un file, al click destro del mouse o al doppio click del mouse oppure quando cambi la cella selezionata.
        Tali macro si rovano andando sulla gestion progetti, selezionando il foglio su cui vuoi lanciare la macro e poi nella parte di destra selezionare worksheet(nella casella di discesa di destra) e selezionare l'opzione nella casella di discesa di destra.
        Se una azione si attiva alle celle di solito ti compare una stringa del tipo
        Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        
        End Sub
        Target è la cella di riferimento con un semplice comando (intersect o altri) si può selezionare per quali celle fanno partire la macro e quali invece la chiudono
        Ciao
        Luca
        #1744 Score: 0 | Risposta

        nicopana
        Partecipante
          Diciamo che io ho creato una macro che adesso ho assegnato ad una forma.
          Se volessi invece assegnarla ad una cella, che o quando ci clicco anche su col mouse o semplicemente quando ci sono su clicco Enter e me la fa partire è possibile?
          #1745 Score: 0 | Risposta

          nicopana
          Partecipante
            cioè tra quelle righe che mi hai indicato dovrei far partire la mia macro ad esempio al clic Invio sulla cella G10 ad esempio.
            #1746 Score: 0 | Risposta

            Luca73
            Partecipante
              58 pts
              Le possibilita sono:
              - quando entri in una cella (che sia con freccia o mouse)
              - quando fai un doppio click sulla cella
              Quando dici usare enter vuoi dire che hai selezionato la cella e con enter cambi la selezione (di solito quella sotto)?
              #1751 Score: 0 | Risposta

              nicopana
              Partecipante
                No, intendevo dire che arrivo sulla cella utilizzando le frecce, e una volta sopra la cella, premere Invio e lanciare la macro. Come se per questa cella, assieme alle altre funzionalità che farei con Enter, c'è anche il lancio della macro.
                #1757 Score: 0 | Risposta

                Luca73
                Partecipante
                  58 pts
                  Per quello che ne so io come vuoi fare tu non si può
                  perché premere enter senza aver modificato la cella stessa equivale a cambiare la cella attiva.
                  le possibilita sono:
                  – quando selezioni entri in una cella (che sia con freccia o mouse)
                  – quando fai un doppio click sulla cella
                  – quando fai click del mouse tasto destro
                  – quando modifichi una cella
                  Ciao
                  Luca
                  #1759 Score: 0 | Risposta

                  nicopana
                  Partecipante
                    Scusa ti ho perso...
                    queste possibilità che mi hai elencato sono in luogo della pressione dell'Enter?
                    Perché se ci sono problemi, una volta posizionatomi sulla cella con le frecce, posso pure premere un qualunque altro tasto, non combinazione, ma singolo, per attivare la macro
                    #1760 Score: 0 | Risposta

                    patel
                    Moderatore
                      51 pts
                      se premi un altro tasto scrivi nella cella e poi devi confermare con Invio, però la macro si attiva perché la cella è stata modificata
                      #1761 Score: 0 | Risposta

                      nicopana
                      Partecipante
                        Nemmeno con qualche tasto "funzione" è possibile senza modificare la cella?
                        #1763 Score: 0 | Risposta

                        patel
                        Moderatore
                          51 pts
                          come ha detto Luca
                          le possibilita sono:
                          – quando selezioni entri in una cella (che sia con freccia o mouse)
                          – quando fai un doppio click sulla cella
                          – quando fai click del mouse tasto destro
                          – quando modifichi una cella
                          forse sarebbe meglio che tu spiegassi cosa vuoi realizzare
                          #1767 Score: 0 | Risposta

                          nicopana
                          Partecipante
                            Allora proviamo a lanciare la macro quando modifichiamo la cella, per esempio premendo il tasto "m"
                            #1776 Score: 0 | Risposta

                            patel
                            Moderatore
                              51 pts
                              Nel modulo del foglio interessato
                              Private Sub Worksheet_SelectionChange(ByVal Target As Range)
                              If Target.Value = "m" Then
                              ' tuo codice
                              End If
                              End Sub
                              #1896 Score: 0 | Risposta

                              nicopana
                              Partecipante
                                Al posto del codice della macro, quindi in "tuo codice", c'è la possibilità di richiamare la macro a cui ho dato comunque un nome? tipo con un'istruzione "call nome_macro"?
                                #1897 Score: 0 | Risposta

                                patel
                                Moderatore
                                  51 pts
                                  certamente, ma invece di domandare potresti provare, il vba non morde 🙂
                                  #1898 Score: 0 | Risposta

                                  nicopana
                                  Partecipante
                                    L'avevo scritto solo perché non ho ancora la possibilità di testare il codice, e ricordavo da reminiscenze passate che c'era con comandi del genere la possibilità di richiamare una macro.
                                    Anche perché siccome lo dovrei applicare a file diversi, in cui la macro ho lo stesso nome, ma si comporta in modo leggermente diverso, cosi riuscirei a standardizzare la cosa su tutti i diversi file.
                                    #1932 Score: 0 | Risposta

                                    nicopana
                                    Partecipante
                                      Ho scritto il mio codice all'interno del testo suggeritomi, ho salvato e ok.
                                      Sono tornato nel foglio interessato, ma mi sorge un dubbio; la "m" dove la devo andare a digitare? perché non ho più indicato celle obiettivo per cosi dire.
                                      #1933 Score: 0 | Risposta

                                      nicopana
                                      Partecipante
                                        La macro comincia con un Sub nome_macro e finisce con un End Sub.
                                        La composizione precisa con il testo che mi avete suggerito sarebbe:
                                        Private Sub Workshhet_SelectionChange (By Val Target As Range
                                        If Target.Value = "m" Then
                                        Sub nome_macro
                                        ...
                                        End Sub
                                        End If
                                        End Sub
                                        ??
                                        #1935 Score: 0 | Risposta

                                        patel
                                        Moderatore
                                          51 pts
                                          Nel modulo del foglio interessato
                                          Private Sub Workshhet_SelectionChange (By Val Target As Range
                                          If Target.Value = “m” Then
                                            call  nome_macro
                                          End If
                                          End Sub
                                          in un modulo standard
                                          Sub nome_macro
                                          .......
                                          End Sub
                                          #2086 Score: 0 | Risposta

                                          nicopana
                                          Partecipante
                                            Vi fornisco un feedback su quanto suggerito.
                                            Innanzitutto io ho inserito il solo testo Private.... fino a End Sub nel foglio interessato.
                                            Una volta che clicco m su una cella, qualunque essa sia, e do Invio non succede nulla. La macro invece viene lanciata quando mi ci posiziono sopra con il cursore del mouse cliccandoci all'interno o con le frecce arrivandoci.
                                            Alla fine la registrazione del record la ottengo, che sarebbe l'obiettivo della macro, però nel lancio Excel mi restituisce un errore di Runtime 13 Tipo non corrispondente, e verificando il Debug mi punta proprio alla riga con l'If Target.... Cosa vorrebbe dire?
                                            #2089 Score: 0 | Risposta

                                            Luca73
                                            Partecipante
                                              58 pts
                                              Ciao
                                              la Private Sub Worksheet_SelectionChange (come dice il nome) viene attivata quando cambi la selezione ovvero quando passi da una cella ad un altra
                                              Esiste anche la Private Sub Worksheet_Change che viene attivata quando modifichi il contenuto di una cella
                                              Nel primo caso Target è la cella di arrivo nel secondo la cella che hai modificato.
                                              Ti allego un file dove nel primo foglio c'è un esempio della prima e nel secondo un esempio della seconda.
                                              Ti ho previsto inoltre che se ti muovi su una cella con m o M oppure se modifiche la cella come m o M allora l'azione è diversa.
                                              Ciao
                                              Luca
                                              Allegati:
                                              You must be logged in to view attached files.
                                              #2093 Score: 0 | Risposta

                                              nicopana
                                              Partecipante
                                                Mi va benissimo anche la prima soluzione, ma perché quell'errore di debug?
                                                #2094 Score: 0 | Risposta

                                                nicopana
                                                Partecipante
                                                  Sul tuo file invece mi sembra bello pulito senza alcun tipo di errori anche quando lo visualizzo io
                                                  #2134 Score: 0 | Risposta

                                                  nicopana
                                                  Partecipante
                                                    Tra l'altro ho notato che anche selezionando più celle e rilasciando mi dà quell'errore di debug.
                                                    #2137 Score: 0 | Risposta

                                                    nicopana
                                                    Partecipante
                                                      Ho provato tra l'altro a ricopiare nel mio file il testo di una delle tue due macro, ma non mi da nessun segno di vita al cambio della selezione della cella.
                                                    Login Registrati
                                                    Stai vedendo 25 articoli - dal 1 a 25 (di 38 totali)
                                                    Rispondi a: Macro su cella
                                                    Gli allegati sono permessi solo ad utenti REGISTRATI
                                                    Le tue informazioni: