Sviluppare funzionalita su Microsoft Office con VBA inserisci riga all'occorrenza

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

    Frasubb
    Partecipante
      1 pt

      Buongiorno e buona domenica,

      avrei bisogno di creare una macro che inserisca 1 riga subito sotto a quella dove è scritto "S" nella colonna H, creando un command button.

      Quindi, per esempio, se ho righe valorizzate partendo dalla 12 fino alla 20, ma il valore "S" è scritto fino ad H16, la macro mi deve inserire una nuova riga nella 17. In quest'ultima, infine, deve essere inserita la data di "oggi", sia nella colonna B che nella colonna D (nel mio esempio quindi in B17 e D17), il resto delle colonne deve essere vuoto.

      Grazie in anticipo a chi mi vorrà aiutare, allego file esempio

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

      Raffaele53
      Partecipante
        23 pts

        Non riesco vedere il Foglio54, come hai fatto a farlo sparire?

        Questo mettilo in foglio "prova" assieme ad Worksheet_Change, per inserire clicca due volta sull'ultima "S" (obbligatorio) 

        `Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
            If Not Intersect(Target, Range("H11:H300")) Is Nothing Then
            Dim rR As Long
                Application.EnableEvents = False
                rR = Target.Row
                If Range("H" & rR) = "S" And Range("H" & rR + 1) = "" Then
                    Rows(rR + 1 & ":" & rR + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
                    Range("B" & rR + 1) = Date
                    Range("D" & rR + 1) = Date
                End If
                Application.EnableEvents = True
            End If
        End Sub`
        #53561 Score: 1 | Risposta

        LukeReds
        Partecipante
          19 pts

          ciao, normale sub da avviare tramite pulsante

           

          Sub AggRiga()
          Dim r As Integer
          r = 1 + Range("H" & Rows.Count).End(xlUp).Row
          Application.EnableEvents = False
          Rows(r).Insert
          Range("B" & r) = Date: Range("D" & r) = Date
          Application.EnableEvents = True
          End Sub
          #53562 Score: 0 | Risposta

          Frasubb
          Partecipante
            1 pt

            Ciao e grazie per i vostri suggerimenti, entrambi efficaci.

            Ho adottato quello di LukeReds perché mi occorre il command button che poi abbino ad un tasto funzione.

            Detto ciò, chiedo a LukeReds se cortesemente mi indica, ovviamente per favore, la stringa da aggiungere per far si che quando eseguo la macro, mi rimanga selezionata la cella della colonna b del rigo appena creato, e che nella colonna J, sempre del nuovo rigo, venga automaticamente scritto "N"

            Grazie infinite

            #53565 Score: 0 | Risposta

            LukeReds
            Partecipante
              19 pts

              ciao, va aggiunta l'istruzione  Range("B" & r).Select, se volessi selezionare un'altra cella basta cambiare la B e la r

               

              Sub AggRiga()
              Dim r As Integer
              r = 1 + Range("H" & Rows.Count).End(xlUp).Row
              Application.EnableEvents = False
              Rows(r).Insert
              Range("B" & r) = Date: Range("D" & r) = Date
              Range("B" & r).Select  'SI POSIZIONA IN COLONNA B E RIGA r, appqna inserita
              Application.EnableEvents = True
              End Sub
              #53568 Score: 0 | Risposta

              Frasubb
              Partecipante
                1 pt

                LukeReds ha scritto:

                ciao, va aggiunta l'istruzione  Range("B" & r).Select, se volessi selezionare un'altra cella basta cambiare la B e la r

                ok grazie mille, ho provato ad aggiungere 

                Cells(UltimaRiga, "J").Value = "N"

                per scrivere automaticamente "N" ogni volta che aggiungo una nuova riga, ma mi da errore

                Dove sbaglio ?

                #53569 Score: 0 | Risposta

                LucaSR
                Partecipante
                  15 pts

                  Ciao con Cella devi usare il numero di colonna e non la lettera 

                  #53570 Score: 0 | Risposta

                  scossa
                  Partecipante
                    37 pts

                    LucaSR ha scritto:

                    Ciao con Cella devi usare il numero di colonna e non la lettera 

                    Non è così, prova nella finestra immediata: ?Cells(12, "J").address e vedrai che restituisce l'indirizzo corretto,

                    #53571 Score: 0 | Risposta

                    LukeReds
                    Partecipante
                      19 pts

                      ciao, con cella puoi usare numeri o lettere per la colonna.

                      Cosa contiene ultimariga?

                      #53572 Score: 0 | Risposta

                      LucaSR
                      Partecipante
                        15 pts

                        Ne ho imparata un'altra anche se fossi sicuro   

                        #53573 Score: 0 | Risposta

                        Frasubb
                        Partecipante
                          1 pt

                          innanzitutto, ringrazio tutti voi per i suggerimenti !

                          Non so cosa sia la "finestra immediata" e di conseguenza quale indirizzo dovrebbe essermi restituito.

                          LukeReds ha scritto:

                          Cosa contiene ultimariga?

                          L'ultima riga contiene:

                          in colonna B e colonna D la data di oggi, mentre in colonna J c'è scritto "S"

                          Spero di aver risposto bene ovvero aver compreso la domanda.

                          Comunque, per eccesso di zelo, riporto il codice che attualmente ho che deve essere implementato con l'istruzione di scrivere "N" nella colonna J ogni volta che eseguo la macro

                          Sub InsAcconto()
                          Dim r As Integer
                          r = 1 + Range("H" & Rows.Count).End(xlUp).Row
                          Application.EnableEvents = False
                          Rows(r).Insert
                          Range("B" & r) = Date: Range("D" & r) = Date
                          Range("B" & r).Select  'SI POSIZIONA IN COLONNA B E RIGA r, appqna inserita
                          Application.EnableEvents = True
                          End Sub
                          #53574 Score: 0 | Risposta

                          LukeReds
                          Partecipante
                            19 pts

                            boh non vedo ultimariga nel codice che hai ipostato

                            Comunque per scrivere N in colonna jprima di Application.enableevemts = true inserisci

                            Range("J" & r) = "N" oppure, con la notazione cells

                            Cells(r, "J").Value = "N"

                            #53575 Score: 0 | Risposta

                            sgmmar
                            Bloccato
                              5 pts

                              Frasubb ha scritto:

                              Non so cosa sia la "finestra immediata"

                               

                              https://www.google.com/search?q=excel+vba%2C+finestra+immediata&aqs=chrome..69i57.17795j0j1&ie=UTF-8

                               

                              spero di non disturbare, e soprattutto non stuzzicare l'attenta osservazione alle discussioni da parte dei moderatori

                              ma credo che per chi ha necessità di risposte immediate,

                              google  possa aiutare senza aspettare la disponibilità di un esperto  sul forum

                              #53576 Score: 0 | Risposta

                              Frasubb
                              Partecipante
                                1 pt

                                LukeReds ha scritto:

                                boh non vedo ultimariga nel codice che hai ipostato

                                perdonami ma io ho impostato il codice che mi hai scritto e suggerito tu stesso.

                                Non ho fatto altro che un copia/incolla perché, diversamente, non saprei come/cosa fare

                                #53577 Score: 0 | Risposta

                                Frasubb
                                Partecipante
                                  1 pt

                                  sgmmar ha scritto:

                                  spero di non disturbare

                                  sgmmar ha scritto:

                                  ma credo che per chi ha necessità di risposte immediate,

                                  google  possa aiutare senza aspettare la disponibilità di un esperto  sul forum

                                  dal mio canto nessun disturbo, ma tengo a farti notare che mi sono semplicemente limitato a rispondere e non a chiedere il significato di una cosa, che come altre svariate decine e decine di milioni, risulta anche a me che trovino risposta su Gooogle

                                   

                                  #53578 Score: 0 | Risposta

                                  sgmmar
                                  Bloccato
                                    5 pts

                                    negli anni, e ripeto, ripeto, ripeto  negli anni,

                                    molte e molte persone mi hanno aiutato, ma nessuna  mi ha risolto un problema.

                                    ho perso tempo ad applicare i suggerimenti che ho ricevuto aiutandomi con goole quando non riuscivo

                                    a capire come utilizzarli.

                                     

                                    mi piacerebbe sapere perhè tu non puoi fare la stessa cosa....

                                     

                                  Login Registrati
                                  Stai vedendo 16 articoli - dal 1 a 16 (di 16 totali)
                                  Rispondi a: inserisci riga all'occorrenza
                                  Gli allegati sono permessi solo ad utenti REGISTRATI
                                  Le tue informazioni: