Condividi:        

[excel-vba] Griglie in un UserForm

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

[excel-vba] Griglie in un UserForm

Postdi biancocandido55 » 09/03/12 00:42

Un saluto a tutto il forum,
eccomi con un nuovo problema,
Vorrei inserire in un userform queste 2 griglie di dati, Immagine
ho cercato tra i componenti aggiuntivi e MSFLEXIGRID.ocx è l'unico che ho trovato in elenco, ma provando ad inserirlo nel form mi dà errore, ho cercato nel web ma non ne sono venuto a capo, ho provato anche con Listbox e Combobox, casino totale, ho letto anche di altri componenti, FLEXIGRID, DATAGRID, GRIDVIEW, ma fanno parte di altri programmi, non idonei per vba di excel, nella griglia estrazioni i numeri nelle celle sono ricavati da questa formula:
Codice: Seleziona tutto
=CERCA.VERT($Z$8;Archivio!$A$4:$BF$10000;4;FALSO)
, in $z$8 c'è il numero dell'estrazione, nella seconda griglia per ogni cella ho inserito quest'altra formula:
Codice: Seleziona tutto
=SE(RADQ(SOMMA.Q.DIFF($E9;F9))>45;90-RADQ(SOMMA.Q.DIFF($E9;F9));RADQ(SOMMA.Q.DIFF($E9;F9)))
che mi ricava la distanza ciclometrica tra due numeri, i 2 pulsanti di selezione sono collegati alla griglia estrazioni, uno a passo 1 e l'altro a passo 10, come sempre rimango in attesa di aiuti e suggerimenti,
un abbraccio
bianco55 Immagine
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15

Sponsor
 

Re: [excel-vba] Griglie in un UserForm

Postdi Anthony47 » 09/03/12 02:42

Una volta visualizzate (per ipotesi) quelle due tabelle, che devi farci sulla userform?

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

Re: [excel-vba] Griglie in un UserForm

Postdi biancocandido55 » 09/03/12 21:14

Ciao Anthony,
attualmente nel file del programma ho 3 fogli, 1 è l’archivio dati denominato ARCHIVIO, il secondo foglio è un insieme di formule dove ho riportato i ritardi e le frequenze d’uscita dei numeri (pieno zeppo di formule e formulette varie) denominato RITARDI E FREQUENZE, il 3 foglio dei CALCOLI è quello che vedi nell’immagine sottostante:
Immagine
per questione di grafica e spazio ho incrementato l'immagine precedente di una riga ed il numero dell'estrazione 4957 lo spostato da Z8 a D7, il mio intento è quello di eliminare il foglio CALCOLI ED IL FOGLIO RITARDI E FREQUENZE, riportando il tutto in varie UserForm. La USERFORM iniziale del progetto è solo un insieme di pulsanti di comando ed etichette varie, vorrei riportare il foglio calcoli in una sottomaschera momentaneamente denominata userform2, come dalle immagini sottostanti, la prima immagine per quello che riguarda le SOMME :
Immagine

La seconda immagine per quello che riguarda le distanze ciclometriche:
Immagine

La procedura del progetto la uso in questo modo, le 2 griglie della userform2 sono solo di lettura dei dati, spunto in alto a destra le somme o le distanze, osservando la griglia centrale debitamente formattata per i duplicati che cambia le operazioni in base all’operatore scelto , successivamente scelgo le ruote che mi interessano ed i relativi numeri dell’estrazione, poi nel riquadro a destra grigio sotto le SOMME o DISTANZE, una ulteriore griglia per i calcoli editabile tipo excel ed il riquadro grigio al centro per i risultati ricavati dal quadro grigio dei calcoli, sempre editabile di tipo excel.
Per il foglio ritardi e frequenze ci penserò su più in là, cosa farne.
Un cordiale abbraccio,
bianco55
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15

Re: [excel-vba] Griglie in un UserForm

Postdi Anthony47 » 10/03/12 00:10

Mi spiace non incoraggiare la tua creativita', ma considero l' idea di sostituire dei worksheet pieni zeppi di formule con un paio (o anche piu') di Form un' operazione di autolesionismo.

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

Re: [excel-vba] Griglie in un UserForm

Postdi biancocandido55 » 10/03/12 09:18

Ciao Anthony, :) :)
si Anthony, su questo ne convengo anch'io, difatti "non ho nessuna intenzione" di mettere il foglio dei ritardi e frequenze su un userform, dopo che mi sono scritto 3240 formule, le 2 griglie mi servono, una per scegliere un estrazione dall'archivio e l'altra per leggere le somme o le distanze, le altre 2 finestre grigie ci penso dopo aver appreso l' inserimento e la gestione di una griglia in un userform.

Un abbraccio
bianco55 Immagine

P.S. non autolesionista, ma.....Animi, conductum et perseverantia vincere omnia
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15

Re: [excel-vba] Griglie in un UserForm

Postdi Anthony47 » 10/03/12 19:59

Animi? Mi suona male...

Personalmente maneggio decorosamente listbox e combobox; alcune discussioni sull' argomento:
viewtopic.php?t=93824
viewtopic.php?f=26&t=93859
viewtopic.php?f=26&t=93937

Un utile flash sulle Listview l' aveva dato maxmula qui:
viewtopic.php?t=70695#p473960

Ho infine appena scoperto un Controllo che si chiama "Microsoft Office Spreadsheet xy" che consente di inserire sulla form ...uno spreadsheet.
Per averlo disponibile, dal vba: Menu /Strumenti /Controlli aggiuntivi, scorri la lista, spunta " Microsoft Office Spreadsheet xy".
Inseriscilo su una form; a parte le Proprieta' classiche (Menu /Visualizza /Finestra proprieta'), se clicchi sull' oggetto avrai disponibile la finestra Comandi e opzioni che puoi usare per personalizzare l' oggetto; esplora le opzioni presenti e come impattano sull' oggetto.
Via macro potrai impostare il contenuto di questo worksheet e (non disponibile sui controlli tipo Listbox e Combobox) il colore di cella e caratteri. Ad esempio con questa macro ho riportato il contenuto di un' area di uno sheet, applicando un colore di fantasia.
Codice: Seleziona tutto
Private Sub UserForm_Activate()
For I = 1 To 5
    For J = 1 To 6
        Spreadsheet1.Cells(I, J) = Sheets("Scheda").Cells(I, J)
        Spreadsheet1.Cells(I, J).Interior.Color = RGB(100 + I * 20, 100 + J * 20, 100)
    Next J
Next I
End Sub


Per me e' un oggetto tutto da esplorare.

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

Re: [excel-vba] Griglie in un UserForm

Postdi biancocandido55 » 11/03/12 14:33

Ciao Anthony,
ti ringrazio per il tuo intervento,
la mia perseveranza a dato i suoi frutti, nel web ho trovato questo:
Immagine

Un controllo aggiuntivo OWC 11.00, 2003 Office Web Control. che non avevo nella mia versione di Office., fornisce grafici, tabelle pivot e spreadsheet.
Ora passo alla fase di studio Immagine del controllo, ti rigrazio , Immagine,
alla prossima problematica, un abbraccio
bianco55 Immagine
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15

Re: [excel-vba] Griglie in un UserForm

Postdi Anthony47 » 11/03/12 19:22

Come puoi notare parliamo dello stesso controllo.

Buona esplorazione!
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [excel-vba] Griglie in un UserForm

Postdi biancocandido55 » 11/03/12 19:41

Ciao Anthony,
Animi= coraggio....della mente
Conductum = condotta
Perseventia = non lo traduco perchè si capisce :D :D

Torno a studiare Immagine e se ho qualche intoppo nel capire
mi faccio vivo il prima possibile, per avere il piacere di
dialogare con te (ma anche con tutto il forum ), un abbraccio
ciao
bianco55 Immagine
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15

Re: [excel-vba] Griglie in un UserForm

Postdi biancocandido55 » 20/03/12 22:23

Ciao ragazzi,
dopo aver studiato l’argomento a singhiozzo , sia per il poco tempo impiegato, lasciatomi a disposizione dalla famiglia :D :D , sia per la poca “purtroppo”) argomentazione trovata in internet :( :( , ho scritto 4 righe di macro, sicuramente errate.
I valori del worksheet sono i risultati di formule, i valori dello spreadsheet sono i valori "letti" nel worksheet, cercando di collegare tra loro, lo spinbutton, il textbox, lo spreadsheet del form e l’area interessata del worksheet, osservando le immagini si nota che premendo il tasto spinbutton

Immagine

si aggiorna la cella texbox di un numero, mentre lo spread rimane arretrato di un estrazione, la “macro” usata è la seguente:

Codice: Seleziona tutto
Private Sub SpinButton1_Change()
TextBox1.Text = SpinButton1.Value
Spreadsheet1.Worksheets("Foglio1").Range("d9:i19").Value = _
Worksheets("Foglio3").Range("d9:i19").Value
End Sub


Lo spinbutton legge la cella D6 del Worksheets("Foglio3")
Spero di aver spiegato l’errore in modo corretto.
Fiducioso, rimango in attesa di un vostro aiuto.

Un abbraccio
Bianco55 Immagine
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15

Re: [excel-vba] Griglie in un UserForm

Postdi Anthony47 » 21/03/12 00:10

Humm.... mi spieghi come e quando Foglio3!E9 (per esempio) cambia da 90 a 34?
Intanto per prova modifica la macro pubblicata aggiungendo la riga marcata <<<
Codice: Seleziona tutto
Private Sub SpinButton1_Change()
TextBox1.Text = SpinButton1.Value
DoEvents :DoEvents       '<<< AGGIUNGERE per prova
Spreadsheet1.Worksheets("Foglio1").Range("d9:i19").Value = _
Worksheets("Foglio3").Range("d9:i19").Value
End Sub

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

Re: [excel-vba] Griglie in un UserForm

Postdi biancocandido55 » 21/03/12 08:27

Ciao Anthony,
in una eventuale 3 img se cliccavi sullo spinbutton, cambiava da 90 a 34 ma il listbox avrebbe indicato l'estrazione successiva.

COMUNQUE, Anthony.........................................

FUNZIONA

Mi spieghi, " DoEvents : DoEvents " !

Come sempre, GRAZIE

Alla prossima................
Un abbraccio
Bianco55
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15

Re: [excel-vba] Griglie in un UserForm

Postdi Anthony47 » 21/03/12 15:32

Mi spieghi, " DoEvents : DoEvents " !
Purtroppo non hai risposto alla domanda "come e quando Foglio3!E9 (per esempio) cambia da 90 a 34?", quindi non sono in grado di spiegarti la soluzione...
:D :D
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [excel-vba] Griglie in un UserForm

Postdi biancocandido55 » 22/03/12 01:51

Ciao Anthony,
credo di essere stato "troppo criptico" nella risposta,
Ciao Anthony,
in una eventuale 3 img se cliccavi sullo spinbutton, cambiava da 90 a 34 ma il listbox avrebbe indicato l'estrazione successiva.

:lol: :lol: :lol:
appena aperto il form, l'immagine è la prima, avevo il numero dell'estrazione 2550 , ma l'estrazione no, era riferita alla precedente, la 2449 (33), se cliccavo mi dava n° 2551 ma l'estrazione era quella del 2550 e cioè cambiava da 33 a 90 l'estrazione, ricliccando avevo n° 2552 e l'estrazione da 90 a 34.
un abbraccio
bianco55
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15

Re: [excel-vba] Griglie in un UserForm

Postdi Anthony47 » 22/03/12 12:59

Veramente questo che dici l' avevo capito gia' 2 messaggi fa; quello che non hai chiarito e' per quale elaborazione la cella E9 di Foglio3 cambia valore, perche' e' evidente che c' e' una mancata sincronizzazione tra "quella" elaborazione e la macro che ricopia il suo contenuto nello spreadshet sulla form.
Il DoEvents interrompe l' elaborazione della macro, dando tempo ad altri processi per eseguirsi; evidentemente questo e' sufficiente per l' elaborazione di Foglio3.

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

Re: [excel-vba] Griglie in un UserForm

Postdi biancocandido55 » 22/03/12 14:31

Ciao Anthony,
grazie per la spiegazione!
ciao
bianco55
biancocandido55
Utente Senior
 
Post: 305
Iscritto il: 03/03/06 10:15


Torna a Applicazioni Office Windows


Topic correlati a "[excel-vba] Griglie in un UserForm":


Chi c’è in linea

Visitano il forum: Nessuno e 59 ospiti