Convalida dati ComboBox



  • Convalida dati ComboBox
    di Omega (utente non iscritto) data: 05/05/2014 18:54:47

    Salve a tutti, ho un problema da risolvere sul Web ho trovato un file che convalida i dati con combobox, solo che dovrei apportare una modifica, il file funziona con Worksheet_BeforeDoubleClick, 'la combobox si attiva con doppio clik', io dovrei attivare l'evento Worksheet_SelectionChange, 'attivare la combobox appena la cella è attiva', spero che sia possibile allego il file di esembio.



  • di Vecchio Frac data: 05/05/2014 21:30:35

    Conosco il file, funziona benissimo, bastava chiedere qui ^_^
    Perchè non riesci a fare la modifica?





  • di Vecchio Frac data: 05/05/2014 21:37:40

    Togli la routine BeforeDoubleClick e modifica leggermente la SelectionChange.
    Certo che così si snatura un po' il senso della procedura :)
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim str As String
    Dim cboTemp As OLEObject
    Dim ws As Worksheet
    Set ws = ActiveSheet
    On Error GoTo errHandler
    
    Set cboTemp = ws.OLEObjects("TempCombo")
      On Error Resume Next
      With cboTemp
        .ListFillRange = ""
        .LinkedCell = ""
        .Visible = False
      End With
    On Error GoTo errHandler
      If Target.Validation.Type = 3 Then
        Application.EnableEvents = False
        str = Target.Validation.Formula1
        str = Right(str, Len(str) - 1)
        With cboTemp
          .Visible = True
          .Left = Target.Left
          .Top = Target.Top
          .Width = Target.Width + 15
          .Height = Target.Height + 5
          .ListFillRange = ws.Range(str).Address
          .LinkedCell = Target.Address
        End With
        cboTemp.Activate
      End If
      
    errHandler:
      Application.EnableEvents = True
      Exit Sub
    
    End Sub
    






  • di Omega (utente non iscritto) data: 05/05/2014 22:21:04

    Cia Vecchio Frac ho provato a modificare il codice come da suggerimento però non funziona, la combo si attiva, quando digito il testo non viene visualizzato, potresti modificare il file allegato? grazie per l'aiuto



  • di Omega (utente non iscritto) data: 06/05/2014 07:20:57

    Ciao allego il file con le modifiche apportate, ma ci sono ancora due problemi da risolvere
    1 quando la combobox si attiva e digito del testo il testo non compare nella combo box finchè non mi sposto di cella
    2 quando digito il testo nella combobox non avviene il completamento automatico.
    spero che il problema si possa risolvere



  • di Omega (utente non iscritto) data: 06/05/2014 18:28:32

    Salve qualcuno può darmi una mano a risolvere il problema della combobox.
    ho apportato le modifiche suggerite da Vecchio Frac però ci sono due problemi
    il primo quando digito il testo nella combobox non compare niente se non mi sposto di cella
    il secondo quando digito il testo se il testo è presente nella lista non avviene il completamento automatico della frase.
    potreste dare un occhiata ai due file allegati.

    la modifica da apportare è: tenere le liste su un foglio separato ed attivare l'evento Worksheet_SelectionChange entrando nella cella con la combobox, invece dell'evento Worksheet_BeforeDoubleClick, che è quello presente nel file allegato.
    Purtroppo non sono esperto di VBa e mi trovo costretto a chiere aiuto grazie.



  • di Omega (utente non iscritto) data: 06/05/2014 22:14:34

    Scusate se continuo a chiedere una soluzione al problema

    Possibile che non si può risolvere oppure ho sbagliato qualcosa io?
    in ogni caso fatemi sapere qualcosa, vi chiedo di scusarmi se ho fatto qualcosa di insolito, purtroppo non sono molto esperto!



  • di Raffaele_53 (utente non iscritto) data: 06/05/2014 23:07:11

    >>>il completamento automatico della frase
    Per ottenere un completamento automatico c'è bisogno che da qualche parte ci siano tutte le parole.

    Dai un'occhiata all'allegato



  • di Omega (utente non iscritto) data: 06/05/2014 23:33:25

    Grazie Raffaele_53 per aver risposto comunque nel file che ho allegato le liste con le paroci sono sono, prova a dare un occhiata, quello da modificare e che il tutto si deve attivare quando la cella è attiva invece del doppio clik.
    può andar bene anche il tuo file solo che il tutto si deve attivare appena la cella è attiva invece del doppio clik.

    solo per curiosità prova a dare uno scuardo al file 2 convalida dati combobox, se si può adattare lasciando le liste sul foglio ValidatonList, ed attivare il tutto appena si seleziona la cella invece del doppioclik

    Grazie



  • di Omega (utente non iscritto) data: 07/05/2014 11:35:09

    Salve a tutti cercando su internet ho trovato un altro file con combobox, in questo file la combobox si attiva appena la cella è selezionata.

    Però resta ancora un problema da risolvere, spostare le liste sul foglio liste nomi, io non so prorpio come fare Qualcuno puo Aiutarmi?
    Allego il file "3 Convalida dati Combobox" spero che qualcuno mi dia una mano a risolvere il problema, devo spostale le liste sul foglio liste nomi

    grazie a tutti.



  • di Raffaele_53 (utente non iscritto) data: 07/05/2014 11:51:54

    Secondo me il complettamento automatico serve solo se si ha una grande quantità di dati.
    Ho modificato allegato, cercando d'integrare i due sistemi.



  • di omega (utente non iscritto) data: 07/05/2014 12:28:07

    Ciao Raffaele_53 ti ringrazio per l'aiuto, tieni presente che il file dove devo inserire la combo contiene molti dati.
    non riesco a capire la modifica che ai apportato al tuo file.
    la modifica che volevo apportare era di attivare la combobox appena la cella e selezionata senza fare doppio clik spero che sia possibile?
    Grazie ancora e vi chiedo di perdonare la mia ignoranza purtroppo non sono esperto di VBA



  • di Omega (utente non iscritto) data: 07/05/2014 12:33:23

    In alternativa al doppioclik, per attivare la combobox potrebbe andare bene la pressione di un tasto tipo F3 - F4 un tasto che non usa excel



  • di Raffaele_53 (utente non iscritto) data: 07/05/2014 13:13:16

    Mà di quale doppioclik stai parlando?, appena Ti posizioni apre l'userform.

    Per farlo funzionare nelle celle verdi/blu
    in Worksheet_SelectionChange
    Set MyRange = Range("c2:c11")
    Set MyRange = Range("c2:c11")

    Invece per le voci puoi mettere quello che desideri ValidationLists



  • di Omega (utente non iscritto) data: 07/05/2014 18:29:21

    Cia Raffaele_53 mi devi perdonare ma ho sbagliato il file da controllare adesso funziona se fosse possibile ancora un ulteriore ritocco
    1 quando digito del testo nella combobox e possibile aprire il menu e far comparire i nomi inseriti nella lista.
    2 quando si apre la userform se non digito del testo e possibile uscire premendo il tasto esc da tastiera senza prendere il maus e premera la X

    Grazie sei stato molto paziente ho fatto molta confusione scusa



  • di Omega (utente non iscritto) data: 07/05/2014 21:09:09

    ulteriore modifica al file



  • di Omega (utente non iscritto) data: 08/05/2014 10:33:19

    cercando sulo Web ho trovato la soluzione mancante