| | 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 | |
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 | |
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 | |
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 | |
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 | |
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.
Ora ci lavoro su e ti farò sapere.
Grazie 1000
|
| | 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 | |
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 | |
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 | |
Ciao,
Funzione perfattamente.
PS: Forum eccezzzzzzzionale siete grazndi!!! |
| | Post: 2.050 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Veteran | Excel 365 | | OFFLINE |
|
22/06/2016 16:11 | |
Grazie
L'importante è che tu abbia capito come funziona il codice e cosa fa.
Alfredo |
|
|