Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Completamento automatico

Ultimo Aggiornamento: 22/06/2016 16:11
Post: 5
Registrato il: 11/06/2016
Città: MILANO
Età: 42
Utente Junior
2007
OFFLINE
15/06/2016 22:02

Ciao,
scusate ma sono stato fuori e non sono riuscito a aprire un nuovo post ed ora eccomi qua come da vostra gentile richiesta.
In allegato il file che ho scaricato e quello con cui dovrei lavorare:
praticamente nel foglio ordine io vado ad inserire gli articoli e vorrei che mi completasse in automatico l'articolo in quanto nel secondo foglio "listini" ci sono circa 8000 codici, che cambiano ogni 6 mesi, e trovarlo come l'ho fatto io risulta molto complicato.
Al momento ogni volta che mi arriva un nuovo listino lo inserisco manualmente, e lo farei anche dopo, ma il colpletamento automatico mi aiuterebbe nella compilazione.
Quindi andrebbe benissimo come è fatto nel foglio che ho scaricato, che allego, ma non sono capace ad inserire la stessa macro che trovo in questo foglio sul mio.

Potete aiutarmi????

Grazie 1000 in anticipo
Post: 6
Registrato il: 11/06/2016
Città: MILANO
Età: 42
Utente Junior
2007
OFFLINE
15/06/2016 22:06

file preso da sito
non mi carica il file con titolo combobox dinamico che ho scaricato da questo sito.

Ciao
Post: 290
Registrato il: 16/08/2015
Città: CORDENONS
Età: 67
Utente Junior
Excel 2016-32bit Win11
OFFLINE
15/06/2016 23:26

Il file probabilmente contiene macro pertanto lo devi zippare prima di poterlo allegare.

______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto)
Post: 7
Registrato il: 11/06/2016
Città: MILANO
Età: 42
Utente Junior
2007
OFFLINE
16/06/2016 13:19

riproviamo
questo è il file che avevo scaricato
Post: 2.029
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
16/06/2016 14:00

Ciao Massimo

l'argomento è alquanto complesso; credo che sull'argomento debba intervenire bySal in quanto autore del file che hai scaricato.

Prova a mandargli una FFZ mail.

Alfredo
Post: 8
Registrato il: 11/06/2016
Città: MILANO
Età: 42
Utente Junior
2007
OFFLINE
17/06/2016 10:22

Re:
alfrimpa, 16/06/2016 14.00:

Ciao Massimo

l'argomento è alquanto complesso; credo che sull'argomento debba intervenire bySal in quanto autore del file che hai scaricato.

Prova a mandargli una FFZ mail.




Ciao,
la mail l'ho inviata........ attendiamo.

Ciao e Grazie
[Modificato da maximus81 17/06/2016 10:33]
Post: 9
Registrato il: 11/06/2016
Città: MILANO
Età: 42
Utente Junior
2007
OFFLINE
20/06/2016 13:15

File
Ciao By Sal,
in allegato il file corretto.
Praticamente quando nel foglio denominato ordine vado a scrivere un codice vorrei che mi suggerisse il codice tra quelli che trovo nel foglio listino.
Nel foglio listino ho cancellato dei codici per renderlo più leggero altrimenti ci sarebbero circa 10000 codici.
Ogni volta che ho un listino nuovo io cancello quello vecchio e lo aggiorno con i nuovi articoli.
Io vorrei copiare la macro che trovo su combobox sul mio foglio in modo da scegliere gli articoli in modo più veloce di quanto riesca a fare ora, che devo scorrere tutto il menù a tendina.

Spero di essere stato chiaro.

Ciao e Grazie
Post: 2.037
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
20/06/2016 14:04

Ciao Massimo

Prova a guardare il file che ti ho allegato dove ho adottato un approccio diverso da quello di by Sal (che saluto)

Sul foglio Ordini posizionati su una delle celle da A22 ad A40.

Ti si aprirà una maschera con all'interno una casella di testo ed una casella di riepilogo.

Nella casella di riepilogo sono visualizzati tutti i codici del foglio Listini ma se nella casella di testo inizi a digitare qualcosa vedrai che la casella di riepilogo verrà "filtrata" ed esporrà solo i codici che contengono i caratteri digitati nella casella di testo.

Una volta trovato il codice giusto basta cliccarci su sulla casella di riepilogo e questo verrà riportato nella cella attiva sul foglio Ordini.

Ora il problema è: con pochi dati il tutto funziona correttamente senza "incertezze"; non so se con 10000 codici o più le macro possano funzionare altrettanto bene.

Dovresti fare dei test aggiungendo nel foglio Listini in colonna A tutti i codici a te occorrenti.

Prova e fai sapere.

P.S. Attualmente la userform ha un titolo "Ingredienti" che nulla ha a che vedere con te; è un refuso che correggeremo poi.
[Modificato da alfrimpa 20/06/2016 14:12]

Alfredo
Post: 10
Registrato il: 11/06/2016
Città: MILANO
Età: 42
Utente Junior
2007
OFFLINE
20/06/2016 15:19

Re:
alfrimpa, 20/06/2016 14.04:

Ciao Massimo

Prova a guardare il file che ti ho allegato dove ho adottato un approccio diverso da quello di by Sal (che saluto)

Sul foglio Ordini posizionati su una delle celle da A22 ad A40.

Ti si aprirà una maschera con all'interno una casella di testo ed una casella di riepilogo.

Nella casella di riepilogo sono visualizzati tutti i codici del foglio Listini ma se nella casella di testo inizi a digitare qualcosa vedrai che la casella di riepilogo verrà "filtrata" ed esporrà solo i codici che contengono i caratteri digitati nella casella di testo.

Una volta trovato il codice giusto basta cliccarci su sulla casella di riepilogo e questo verrà riportato nella cella attiva sul foglio Ordini.

Ora il problema è: con pochi dati il tutto funziona correttamente senza "incertezze"; non so se con 10000 codici o più le macro possano funzionare altrettanto bene.

Dovresti fare dei test aggiungendo nel foglio Listini in colonna A tutti i codici a te occorrenti.

Prova e fai sapere.

P.S. Attualmente la userform ha un titolo "Ingredienti" che nulla ha a che vedere con te; è un refuso che correggeremo poi.



Ciao,
sto provando e sembra che vada bene. [SM=x423030]

Ora ci lavoro su e ti farò sapere. [SM=x423051]

Grazie 1000 [SM=x423028]
Post: 2.038
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
20/06/2016 15:27

Ok.

L'unico dubbio che ho è, come detto, quello del numero dei codici da gestire.

Alfredo

Alfredo
Post: 11
Registrato il: 11/06/2016
Città: MILANO
Età: 42
Utente Junior
2007
OFFLINE
20/06/2016 16:38

ok
Ciao,
ho fatto delle prove e al momento funziona.
Per curiosità come faccio a cambiare la dicitura "ingredienti"?

Comunque grazie 1000

Ciao
Post: 2.039
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
20/06/2016 17:48

Allora fai così:

1) Vai nell'editor di VBA premendo ALT+F11
2) In alto a sx trovi la finestra progetto
3) Troverai una cartella Form e clicca sul "+" alla sua sinistra
4) Vedrai poi Userform1 e fai doppio clic su questa
5) Ti si apre la form in modalità struttura
5) con il tasto dx del mouse clicca sullo sfondo della form e scegli "Proprietà"
6) Nella finestra che ti si apre trova "Caption"; cancella "Ingredienti" e metti quello che vuoi.
7) Salva il file e chiudi.

Alfredo
Post: 12
Registrato il: 11/06/2016
Città: MILANO
Età: 42
Utente Junior
2007
OFFLINE
20/06/2016 22:14

Altra Domanda
Ciao Alfredo,
siccome lo schema che mi hai dato è perfetto e può essermi utile anche ad un altro file, vorrei farti una domanda. Se modifico il nome del file listini non si apre più la casella, e questo penso che sia corretto, la domanda quindi è come devo fare a rinominare il foglio dove prendere i dati.

Ciao e Grazie
Post: 2.040
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
21/06/2016 11:11

Ciao Massimo

Per me non è facile risponderti perché non so tu che conoscenze abbia di VBA.

Quelle che vedi sotto sono tutte le macro che "governano" il tutto; ti ho indicato l'istruzione da modificare con il nome del nuovo foglio ma non è detto che sia sufficiente solo questa modifica in quanto è necessario vedere anche come è strutturato il nuovo file.

Quello che posso consigliarti è di provare a studiare il codice cercando di capire come funziona e cosa fa, magari approfondendo i concetti su testi di VBA o su internet.

Comunque, se hai domande, sono qua.


Option Explicit

Option Compare Text

Private sh As Worksheet

Private Sub ListBox1_Click()
ActiveCell.Value = UserForm1.ListBox1.Value
UserForm1.TextBox1.Value = ""
UserForm1.Hide
End Sub

Private Sub TextBox1_Change()
Call mCaricaListBox("FiltraDati")
End Sub

Private Sub UserForm_Initialize()
    Set sh = ThisWorkbook.Worksheets("listini") <=== Questa la riga da modificare inserendo il nome del nuovo foglio tra le virgolette.
    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 = 3 To lRiga
                .AddItem (sh.Range("A" & lng).Value)
            Next
        ElseIf s = "FiltraDati" Then
            .Clear
            For lng = 3 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


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("a22:a40")) Is Nothing Then
    If Target.Value <> "" Then Exit Sub
    UserForm1.Show
End If
End Sub

Alfredo
Post: 13
Registrato il: 11/06/2016
Città: MILANO
Età: 42
Utente Junior
2007
OFFLINE
22/06/2016 16:03

Spettacolare
Ciao,
Funzione perfattamente.

PS: Forum eccezzzzzzzionale siete grazndi!!! [SM=x423028]
Post: 2.050
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
22/06/2016 16:11

Grazie [SM=g27811]

L'importante è che tu abbia capito come funziona il codice e cosa fa.

Alfredo
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 08:22. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com