Condividi:        

Digitazione facilitata Excel

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Digitazione facilitata Excel

Postdi magick » 17/04/15 17:24

Ciao a tutti, mi rifaccio a un precedente topic per cercare di avere chiarimenti sulla digitazione facilitata con Excel (viewtopic.php?t=94349). Ho utilizzato la macro proposta da Flash per avere i suggerimenti in fase di digitazione di un campo (comuni italiani) prendendo i dati da un database di 17981 record (tutti i comuni!). Ho assegnato un nome all'elenco e convalidato i dati, così facendo però la macro non funziona. L'obiettivo è avere i nomi dei comuni identici a quelli presenti nel database, dato che poi vanno incrociati con altri dati.
Sapete aiutarmi?
magick
Newbie
 
Post: 7
Iscritto il: 02/10/08 18:03

Sponsor
 

Re: Digitazione facilitata Excel

Postdi Anthony47 » 18/04/15 02:33

Non ho capito quale soluzione hai provato.
Io userei una "casella combinata", di cui imposterei la proprieta' ListFillRange per copiare l' elenco dei comuni; oppure la Convalida da elenco (che e' forse quello che hai fatto).

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19217
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Digitazione facilitata Excel

Postdi magick » 18/04/15 11:36

Ho praticamente provato il consiglio di Flash in quel topic, creato la convalida dati che mi ha dato un menù a tendina con la lista di tutti i comuni e inserito poi la macro da lui proposta.

Codice: Seleziona tutto
    Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    CheckArea = "C2:C10000"
    If Not Application.Intersect(ActiveCell, Range(CheckArea)) Is Nothing Then
        If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
            Application.ScreenUpdating = False
            Application.Calculation = xlManual
    RArt = Target.Row
    ArtV = Target.Value
        If ArtV <> 0 Then
            UR = Range("A" & Rows.Count).End(xlUp).Row
        For R = 1 To UR
            If ArtV = Mid(Range("A" & R).Value, 1, Len(ArtV)) Then
                Target.Value = Range("A" & R).Value
                GoTo esci
            End If
        Next R
    esci:
    End If
    End If
    Application.EnableEvents = True
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    End Sub


Ovviamente la convalida dati è la cosa più semplice, ma capisci che con migliaia di record trovare il comune giusto richiede tempo. Io vorrei una soluzione che iniziando a digitare le lettere lui mi suggerisca solo i comuni che contengono quelle lettere, per cui se scrivo le lettere "ro" lui mi indichi come possibilità Roma, Rovigo ecc...
magick
Newbie
 
Post: 7
Iscritto il: 02/10/08 18:03

Re: Digitazione facilitata Excel

Postdi Anthony47 » 19/04/15 14:13

Come detto io userei un combobox, come ho fatto nell' esempio del file allegato:
https://www.dropbox.com/s/n3muxnuj5fuwx ... .xlsm?dl=0

Selezionando in Foglio1 una cella tra quelle in giallo si attiva un combobox; cominciando a digitare, l' elenco di valori da cui scegliere sara' sempre piu' ridotto.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19217
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Digitazione facilitata Excel

Postdi magick » 20/04/15 10:19

Ottima soluzione, grazie Anthony47 :)
E' possibile spostare la colonna D in un'altro foglio, lasciando nel foglio 1 solo il DB?
magick
Newbie
 
Post: 7
Iscritto il: 02/10/08 18:03

Re: Digitazione facilitata Excel

Postdi magick » 20/04/15 14:25

Risolto. Grazie per l'aiuto ;)
magick
Newbie
 
Post: 7
Iscritto il: 02/10/08 18:03

Re: Digitazione facilitata Excel

Postdi Anthony47 » 20/04/15 23:30

Se diffondi il file ti chiedo di pubblicare il link a questa discussione.
(Non basta dire "su internet" o "su altro forum")
Avatar utente
Anthony47
Moderatore
 
Post: 19217
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Digitazione facilitata Excel

Postdi scanacc » 04/01/17 18:36

Carissimo Antony, nella macro proposta ho notato 2 cose che nel mio caso vorrei evitare.
1) Il Form della Combo compare nella colonna E (sempre a destra della colonna D). Vorrei spostarlo in un'altra cella per esempio G4
2) La compo scompare solo nel caso in cui mi tolga dal reange selezionato (in questo caso nel range d2:d20). Vorrei che mi sparisse dopo che ho selezionato il nome che mi interessa nella COMBO.
Si può fare?
Ciao e grazie
scanacc
Utente Senior
 
Post: 350
Iscritto il: 06/12/15 10:30

Re: Digitazione facilitata Excel

Postdi Anthony47 » 05/01/17 15:19

Il combobox compare accanto a colonna D perche' (in quel file) il risultato va inserito in colonna D; non vedo il vantaggio a farlo comparire lontano dalla colonna di destinazione.
Comunque, per farlo comparire in un'altra colonna basta modificare quell' 1 presente nella macro di Worksheet_SelectionChange sulla riga
Codice: Seleziona tutto
    ComboBox21.Left = Target.Offset(0, 1).Left

Per far scomparire il combobox va aggiunta una macro di Combobox_Click; nel file di esempio, va aggiunto questo codice:
Codice: Seleziona tutto
Private Sub ComboBox21_Click()
ComboBox21.Visible = False
End Sub
Per aggiungerlo, vai in Modalita'Progettazione, selezioni il combobox, premi Visualizza codice, aggiungi il suddetto codice al codice gia' presente.

Poi disabilita la Modalita'Progettazione e vedi l'effetto che fa.

Comunque il file pubblicato ora ha l'offset modificato a 3 e la ComboBox21_Click gia' inserita

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19217
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Digitazione facilitata Excel

Postdi scanacc » 05/01/17 16:40

Grazie!!! Appena ho un attimo la provo
scanacc
Utente Senior
 
Post: 350
Iscritto il: 06/12/15 10:30


Torna a Applicazioni Office Windows


Topic correlati a "Digitazione facilitata Excel":


Chi c’è in linea

Visitano il forum: Anthony47 e 40 ospiti