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

    Frasubb
    Partecipante
      1 pt

      Ciao a tutti, cortesemente avrei la necessità di far sì che in sede di ultimo inserimento di dati trasferiti con apposito pulsante (Transfer) dal precedente foglio, venga sempre selezionata la cella (colonna B) del nominativo appunto ultimo inserito.

      Come faccio ?

      Grazie mille a chi mi vorrà aiutare

      p.s. allego file esempio

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

      Oscar
      Partecipante
        45 pts

        La metti alla fine del tuo codice

        Cells(Rows.Count, "B").End(xlUp).Select

        Ma forse non ho capito se devi selezionare la cella dove hai fatto l'ultimo inserimento

        o trovare la prima cella vuota per il nuovo inserimento

        #50925 Score: 0 | Risposta

        alexps81
        Moderatore
          58 pts

          Io ho capito che deve posizionare il cursore nella cella in colonna "B" dell'ultimo inserimento...e dato che c'è di mezzo un ordinamento tramite Sort la cosa forse si complica.

          Prova ad aggiungere questo pezzo di codice in mezzo a Loop While MsgBox("Vuoi inserire un altro codice?", vbYesNo + vbQuestion, "PROSEGUO O ESCO?") = vbYes e Exit Sub

           

          '....
          '....
          'Loop While MsgBox("Vuoi inserire un altro codice?", vbYesNo + vbQuestion, "PROSEGUO O ESCO?") = vbYes
          
          Set CellaW = Range("A:A").Find(What:=Codice, SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
          If Not CellaW Is Nothing Then
              Cells(CellaW.Row, "B").Select
          End If
          
          'Exit Sub
          '....
          '....

          in pratica andiamo a ricercare la cella dell'ultimo codice inserito all'interno della colonna "A" e poi da li ricaviamo il rigo e a quel punto selezioniamo la cella in colonna "B"

          #50933 Score: 0 | Risposta

          Frasubb
          Partecipante
            1 pt

            devo selezionare la cella della colonna "B" dell'ultimo inserimento fatto

            #50934 Score: 0 | Risposta

            alexps81
            Moderatore
              58 pts

              Hai provato il pezzo di codice che ho pubblicato? Devi copiarti da Set CellaW =... fino a End If e lo devi inserire tra Loop While MsgBox e Exit Sub

              #50935 Score: 0 | Risposta

              Frasubb
              Partecipante
                1 pt

                ciao Alexps81, si grazie mille, stavo proprio provandolo e funziona perfettamente.

                Volevo chiederti la cortesia, per favore, di dirmi dove andare a posizionare il codice stesso all'interno del pulsante "inserisci" presente nella userform (dopo aver cliccato il tasto AVVIA), per ottenere il medesimo risultato, ovvero posizionarsi nell'ultimo dato inserito riportato in colonna "B".

                Grazie mille

                #50936 Score: 0 | Risposta

                alexps81
                Moderatore
                  58 pts

                  Nel macro del pulsante "Inserisci" aggiungi queste 2 variabili subito dopo Private Sub cmdInvia_Click()

                  Dim contatore As String
                  Dim rigaDebitore As Variant

                  poi al posto di If TxtContatore = "" Then ci metti:

                  contatore = TxtContatore.Value
                  
                  If contatore = "" Then
                  

                  infine, prima di End Sub (quindi siamo alla fine) ci metti questo:

                  On Error Resume Next
                  rigaDebitore = Application.Match(CDbl(contatore), ActiveSheet.Range("A:A"), 0)
                  On Error GoTo 0
                  
                  If Not IsError(rigaDebitore) Then
                      Range("B" & rigaDebitore).Select
                  End If

                  Vedi se funziona come vorresti.

                  Onestamente mi sento di dirti che ci sono diversi errori strutturali nel codice. Assenza della dichiarazione esplicita delle variabili (Option Explicit), presenza eccessiva di ActiveCell, ElseIf, dichiarazioni di variabili errate (così come le dichiari sono tutte di tipo Variant, il ché comporta oltre che uno spreco di memoria ma anche di eventuali errori di interpretazione da parte del compilatore). Insomma si potrebbe fare molto meglio...

                   

                  #50946 Score: 0 | Risposta

                  Frasubb
                  Partecipante
                    1 pt

                    Buonasera Alex, grazie funziona tutto alla perfezione.

                    In merito alla tua ultima nota, dove mi dici che ci sono diversi errori, da ignorante in materia ti chiedo se, a tempo perso, potresti "aggiustarmi" tu il tutto ovviamente, dico una cosa scontata, mantenendo comunque tutte le funzionalità ed automatismi del file in senso lato.

                    Fammi sapere, intanto grazie ancora per tutto

                  Login Registrati
                  Stai vedendo 8 articoli - dal 1 a 8 (di 8 totali)
                  Rispondi a: Seleziona cella
                  Gli allegati sono permessi solo ad utenti REGISTRATI
                  Le tue informazioni: