Risultati da 1 a 10 di 10

Discussione: Macro per autocompletamento



  1. #1
    L'avatar di Lety88
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Brindisi
    Età
    29
    Messaggi
    131
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    7

    Macro per autocompletamento

    Buonasera,

    sono qui a chiedervi un piccolo aiuto su una macro, praticamente nel foglio2 ho una colonna A di nomi con circa 150 nomi, desideravo appunto una macro che mi permettesse nel foglio 1 sempre nella colonna A, per ogni cella man mano che inserivo le iniziali di un nome appartenente alla liste presente nel foglio, mi comparisse una lista con tutti i nomi che iniziano per una determinata lettera o più lettere se i nomi sono tanti.

    Spero di essermi spiegata bene, vi ringrazio per la cortese attenzione, nel file d'esempio ho inserito pochi nomi solo per capire il sistema.
    File Allegati File Allegati

  2. #2

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6747
    Versione Office
    2013
    Likes ricevuti
    711
    Likes dati
    162

    Re: Macro per autocompletamento

    Ciao Lety

    Ti allego file dove tempo fa avevo fatto un qualcosa del genere.

    All'interno del file c'è una userform con al suo interno una textbox ed una listbox.

    Se selezioni una cella della colonna A (da A2 ad A1000) viene visualizzata la form e quando inizi a digitare qualcosa nella textbox comparirà la listbox (inizialmente invisibile) che ti mostrerà i soli nomi che contengono le lettere digitate.

    Quando cliccherai sul nome prescelto questo verrà inserito nella cella attiva.

    E questo è il codice che fa tutto questo.

    Codice: 
    Option Explicit
    Option Compare Text
    Private sh As Worksheet
    Private Sub ListBox1_Click()
    ActiveCell.Value = UserForm1.ListBox1.Value
    UserForm1.ListBox1.Visible = False
    UserForm1.Hide
    End Sub
    Private Sub TextBox1_Change()
    UserForm1.ListBox1.Visible = True
    Call mCaricaListBox("FiltraDati")
    End Sub
    Private Sub UserForm_Initialize()
        Set sh = ThisWorkbook.Worksheets("Foglio2")
        UserForm1.ListBox1.Visible = False
        Call mCaricaListBox("CaricaDati")
    End Sub
    
    Private Sub mCaricaListBox(ByVal s As String)
        Dim lRiga As Long
        Dim lng As Long
        
        With sh
            lRiga = .Range("A" & .Rows.Count).End(xlUp).Row
        End With
        
        With Me.ListBox1
            If s = "CaricaDati" Then
                For lng = 1 To lRiga
                    .AddItem (sh.Range("A" & lng).Value)
                Next
            ElseIf s = "FiltraDati" Then
                .Clear
                For lng = 2 To lRiga
                    If InStr(sh.Range("A" & lng).Value, Me.TextBox1.Text) Then
                        .AddItem sh.Range("A" & lng).Value
                    End If
                Next
            End If
        End With
        
    End Sub
    
    Private Sub UserForm_Terminate()
        Set sh = Nothing
    End Sub
    Fai sapere se ti può andar bene.

    Alfredo

    P.S. Ovviamente devi compilare il foglio2 di tutti i nomi.
    File Allegati File Allegati

  3. #3
    L'avatar di Lety88
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Brindisi
    Età
    29
    Messaggi
    131
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    7

    Re: Macro per autocompletamento

    Ciao Alfredo, grazie, nella form hai usato due textbox?

  4. #4

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6747
    Versione Office
    2013
    Likes ricevuti
    711
    Likes dati
    162

    Re: Macro per autocompletamento

    No Lety (Letizia? :188:)

    Come dicevo prima ho usato una textbox (casella di testo) per l'inserimento delle lettere ed una listbox (casella di riepilogo) per la visualizzazione dei nomi che contengono le lettere digitate; poi quando hai trovato il nome ci clicchi su e questo viene "trasferito" nella cella attiva.

    Alfredo

  5. #5
    L'avatar di Lety88
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Brindisi
    Età
    29
    Messaggi
    131
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    7

    Re: Macro per autocompletamento

    Scusami nella foga di testare non avevo letto bene, cmq adesso mi funziona bene grazie, desideravo se fosse possibile, dopo il primo inserimento, quando clicco in un'altra cella si riapre la form, le textbox resta valorizzata con le iniziali utilizzati precedentemente, non è possibile svuotarla?

    Letizia

  6. #6

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6747
    Versione Office
    2013
    Likes ricevuti
    711
    Likes dati
    162

    Re: Macro per autocompletamento

    Ciao Letizia

    Vedi se ti può andar bene così.

    Alfredo
    File Allegati File Allegati

  7. I seguenti utenti hanno dato un "Like"


  8. #7
    L'avatar di Lety88
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Brindisi
    Età
    29
    Messaggi
    131
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    7

    Re: Macro per autocompletamento

    Si ALfredo funziona, ti ringrazio tantissimo. Mi sono accorta di un'altro particolare, se posso segnalartelo?

    Se ad esempio nella Text Box inizio a digitare "LA.." nella list box sotto compaiono nomi contengono solo la A o solo la L, invece dovrebbero comparire solo i nomi che iniziano per "LA".

    Non so se ho reso l'idea. Ti ringrazio tanto per la pazienza.

    Letizia

  9. #8

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6747
    Versione Office
    2013
    Likes ricevuti
    711
    Likes dati
    162

    Re: Macro per autocompletamento

    Si Letizia ho capito perfettamente :188:

    E pensare che in una precedente versione del file le cose funzionavano proprio come hai detto tu.

    In pratica occorre sostituire InStr con Left.

    Domani cerco di accontentarti.

    Alfredo

  10. #9

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6747
    Versione Office
    2013
    Likes ricevuti
    711
    Likes dati
    162

    Re: Macro per autocompletamento

    Ciao Letizia

    Ti allego nuovo file dove, spero, aver fatto la modifica che hai richiesto.

    In pratica ho sostituito nel codice questa istruzione

    Codice: 
    If InStr(sh.Range("A" & lng).Value, Me.TextBox1.Text) Then
    con questa

    Codice: 
    If Left(sh.Range("A" & lng).Value, Len(Me.TextBox1.Text)) = Me.TextBox1.Text Then
    Prova e fai sapere.

    Alfredo
    File Allegati File Allegati

  11. I seguenti utenti hanno dato un "Like"


  12. #10
    L'avatar di Lety88
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Brindisi
    Età
    29
    Messaggi
    131
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    7

    Re: Macro per autocompletamento

    Perfetto.

    Grazie mille per la disponibilità.

Discussioni Simili

  1. [Risolto] Creare elenco di strade con autocompletamento
    Di angar2002 nel forum Domande su Excel in generale
    Risposte: 11
    Ultimo Messaggio: 13/03/17, 16:55
  2. Autocompletamento ComboBox
    Di alfrimpa nel forum Domande su Excel VBA e MACRO
    Risposte: 29
    Ultimo Messaggio: 01/05/16, 23:38
  3. macro-per-autocompletamento
    Di nessi nel forum Domande su Excel VBA e MACRO
    Risposte: 12
    Ultimo Messaggio: 28/04/16, 01:33
  4. Ancora autocompletamento su combobox
    Di insolente nel forum Domande su Excel in generale
    Risposte: 11
    Ultimo Messaggio: 20/02/16, 21:47

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •