You are here:--[RISOLTO] Ricerca materiale Bottone Elimina Bottone Conferma Modifica Multipla
[RISOLTO] Ricerca materiale Bottone Elimina Bottone Conferma Modifica Multipla2017-12-18T19:49:47+02:00

Home Forum Domande su Excel VBA e MACRO [RISOLTO] Ricerca materiale Bottone Elimina Bottone Conferma Modifica Multipla

  • Autore
    Articoli
  • AvatarREAPAT
    Partecipante
      Post totali: 29

      Ciao a tutti,

      oggi ho un nuovo quesito da porre a questo magico forum.

      Il file è sempre il solito che ho postato ieri che riposto oggi.
      Il problema sostanziale che ho trovato sono due bottoni che mi fanno diventare matto.

      CommandButton20 = Elimina Materiale
      CommandButton19 = Conferma Modifiche

      Dal momento in cui voglio eliminare un materiale, lo seleziono e premo commandbutton20. Questo funziona correttamente.
      Quello che non funziona è il commandbutton19 ovvero la conferma della modifiche in blocco. Spiego meglio: seleziono diversi materiale poi premo il bottone Modifica Multipla poi modifico premendo OptionButton residenti e poi inserisco nel combobox che si sblocca qualsiasi cosa. Poi Confermo Modifiche premendo il bottone rosso in basso.
      A questo punto però non viene modificato nulla, o meglio solo l’ultimo che ho selezionato.
      Non capisco il motivo.

      Sono giorni che ci sbatto la testa ma non ne vengo a capo. Sembra che il codice, il loop me lo esegue solo una volta.

      Potreste darmi una mano pf,

      Grazie mille,

      Patrick

      http://www.filedropper.com/ricercamaterialeiniziale

      • Questo argomento è stato modificato 1 anno, 10 mesi fa da Avatar REAPAT.
      • Questo argomento è stato modificato 1 anno, 10 mesi fa da sid sid.
    • AvatarREAPAT
      Partecipante
        Post totali: 29

        Questo è il codice del bottone Conferma Modifiche

        Private Sub CommandButton19_Click()
        
            Dim Risp
            Dim i As Long
            Dim r
            Dim ComputerName
            
            Risp = MsgBox("Vuoi effettuare queste modifiche ?", vbInformation + vbYesNo, "Controllo dati")
                For i = 1 To Me.ListBox1.ListCount
                    If Me.ListBox1.Selected(i - 1) Then
                        If Risp = vbYes Then
                            R_r = ""
        
                                sh1.Cells(i + 1, 5) = ComboBox14.Value
        
                        Else
                            MsgBox "Nessun dato è stato modificato!", vbExclamation, "Operazione Annullata!"
                        Exit Sub
                        End If
                
                    End If
                Next i
            MsgBox "Operazione effettuata.", vbInformation, "Aggiornamento dati"
            UserForm_Activate
        End Sub
        
      • BySalvBySalv
        Amministratore del forum
          Post totali: 520

          Ciao REAPAT, ti ho modificato la tua macro, in quando non avviava la selezione della listbox.

          Quando si avviava la selezione eliminava tutte le selezioni effettuate.

          Questa la tua Macro integrata con il mio codice che è segnato da trattini.

          Ho creato una variabile Array “Szz(1 to 50)” per memorizzare gli ID della selezione, se potrebbero essere più di 50 devi aggiustare il tiro(50), si capisce meglio, altrimenti poi bisogna usare un altro metodo.

          Private Sub CommandButton19_Click() 'Modifica Multipla
          
              Dim Risp
              Dim i As Long
              Dim r
              Dim ComputerName
              Dim x, y, k, z, Szz(1 To 50) '---------------------------------------- variabili aggiunte
              
              Risp = MsgBox("Vuoi effettuare queste modifiche ?", vbInformation + vbYesNo, "Controllo dati")
          
              z = 1
               For i = 0 To ListBox1.ListCount - 1
                      If Me.ListBox1.Selected(i) = True Then
                          If Risp = vbYes Then
                              R_r = ""
                              '---------------------------------- Righe aggiunte rilevazione ID
                              k = ListBox1.List(i, 6)
                              Szz(z) = k: z = z + 1
                              '---------------------------------- Righe aggiunte
                          Else
                              MsgBox "Nessun dato è stato modificato!", vbExclamation, "Operazione Annullata!"
                              Exit Sub
                          End If
                  
                      End If
                  Next i
          '---------------------------------- Righe aggiunte Processo di scrittura per la modifica sul foglio
              For x = 1 To 50
                  k = Szz(x)
                  If Szz(x) = "" Then Exit For
                  For y = 2 To sh1.Cells(Rows.Count, 1).End(xlUp).Row
                      If sh1.Cells(y, 7) = k Then sh1.Cells(y, 5) = ComboBox14: Exit For
                  Next y
              Next x
          '---------------------------------- Modifica effettuata
              MsgBox "Operazione effettuata.", vbInformation, "Aggiornamento dati"
              UserForm_Activate
          End Sub

          ti allego anche il file

          http://www.filedropper.com/ricercamaterialeiniziale_1

          Ho dovuto disabilitare il codice per “CommandButton16” in quanto nella Userform sarà stato eliminato.

          Ciao By Sal :bye:

        • AvatarREAPAT
          Partecipante
            Post totali: 29

            Non so come ringraziarti.

            Sembrerebbe andare tutto. Il problema che incontravo poi era che se riusciavo a far funzionare la modifica multipla poi per uno strano motivo a me sconosciuto mi mandava in bug il bottone Elimina Materiale e viceversa.

            Ora funziona tutto.
            Grazie mille davvero per il tuo prezioso aiuto.

            A presto,

            Patrick

            Ps. Complimenti per il forum :good: :good:

          La discussione ‘[RISOLTO] Ricerca materiale Bottone Elimina Bottone Conferma Modifica Multipla’ è chiusa a nuove risposte.

          Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

          Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

          Chiudi