Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

programma per archivio dvd

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

programma per archivio dvd

Postdi raimea » 09/01/11 11:45

problema con useform
con quelle sono proprio negato...

in rete ho trovato questo programa per archiviare
i propri dvd-cd, ecc....
alcune modifiche sono riuscito a farle ed il programma funziona gia.

ora vorrei poter mettere nella useform principale un
nuovo pulsante x la stampa.

la macro (stampa) l'ho gia fatto ed e' ok

quindi vorrei mettere un pulsante "stampa"
nella useform1 vicino al pulsante "esegui"

allego il file
http://www.sendspace.com/file/zc4z91

grazie anticipate a chi mi rispondera'.
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Sponsor
 

Re: programma per archivio dvd

Postdi Anthony47 » 09/01/11 15:10

Beh, metti un pulsante aggiuntivo e poi nel "suo" codice di gestione metti qualcosa come
Codice: Seleziona tutto
Private Sub CommandButtonXXX_Click()
Call LaMacroDiStampa
End Sub

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: programma per archivio dvd

Postdi raimea » 09/01/11 17:02

:?:
era proprio l' "input " che mi mancava
ora e' ok
finisco di sistemare il file
e mettero' a disposizione di tutti
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Re: programma per archivio dvd

Postdi raimea » 10/01/11 20:40

nel programma ho una colonna H chiamata "posizione"
dove assegno ad ogni titolo un numero.

per numerare la posizione dei dvd ecc..
sto cercando una formula o macro, che mi indichi
il primo num disponibile, da assegnare come "posizione".

esempio: se nella colonna ho i numeri 1,2,3,5,6,8,9
mi dovrebbe evidenziare che e' disponibile il num 4

perche' il piu basso non ancora utilizzato.....

suggerimenti ?
grazie in anticipo
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Re: programma per archivio dvd

Postdi Anthony47 » 10/01/11 21:38

La cosa piu’ semplice e’ usare questo codice:
Codice: Seleziona tutto
Set MyRange = Application.Intersect(Range("H:H"), ActiveSheet.UsedRange)
For I = 1 To Application.WorksheetFunction.Max(MyRange) + 1
If Application.WorksheetFunction.CountIf(MyRange, I) = 0 Then
FrePos = I: Exit For
End If
Next I
All’ uscita il risultato e' nella variabile FrePos

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: programma per archivio dvd

Postdi raimea » 10/01/11 22:11

:undecided:

aiuto...

cosa devo fare con questo codice ?
cosa significa :
All’ uscita il risultato e' nella variabile FrePos ....

azz...., come vedi sono ancora a liv.1.... :undecided:
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Re: programma per archivio dvd

Postdi Anthony47 » 11/01/11 02:56

Non conosco il tuo progetto quindi rimango sul vago: nel momento in cui una macro che contiene quel codice si esegue, il numero che cerchi sara' in quella "variabile"; userai quella variabile per mettere il numerello dove serve: in una cella (es Activecell.value=FrePos), in un textbox (es Userform2.Textbox1.text=FrePos), lo usi per farci altri calcoli all' interno della macro, etc.

Come mandi in esecuzione la macro dipende dal tuo progetto e dall' interfaccia utente che hai disegnato: un pulsante, una selezione cella, all' apertura di una form, etc.

Spero che trovi qualche spunto utile...
Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: programma per archivio dvd

Postdi raimea » 11/01/11 07:51

il tuo ragionamento l'ho capito.
ho messo la tua macro all'interno di una a caso
fin qui tutto ok.

ma non riesco a richiamare il risultato nella useform 1 :(
ho provato a creare una label, un text box ma rimangono sempre bianchi....
non so come gestire questo pssaggio
cioe' nella useform andare a cercare il risultato e visualizzarlo
allego il file ( v 1.5 ancora provvisorio )

http://www.sendspace.com/file/3645ha
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Re: programma per archivio dvd

Postdi Anthony47 » 11/01/11 15:37

Immagino che questo numerello ti servira’ quando vorrai inserire una nuova voce in libreria; quindi metterai il codice nella Sub UserForm_Activate di UserForm2, in testa, e dopo la Next I inserirai TextBox8.Text = FrePos, prima di compilare i RowSource dei combobox.
TUTTAVIA…
In col H tu non hai dei numeri, ma dei testi; quindi il calcolo fallisce. Dovresti quindi (1) riportare col H a valori numerici e (2) fare in modo che gli ulteriori inserimenti siano anche loro numerici.
Per quanto riguarda (1) puoi mandare in esecuzione una volta questa macro, che rimpiazza i contenuti di H2:Hnn col il loro equivalente numerico
Codice: Seleziona tutto
Sub HNum()
On Error Resume Next
Range("H2:H" & Cells(Rows.Count, "H").End(xlUp).Row + 1).NumberFormat = "0"
For Each Cell In Range("H2:H" & Cells(Rows.Count, "H").End(xlUp).Row + 1)
Cell.Value = Val(Cell.Value)
If Cell.Value = 0 Then Cell.ClearContents
Next Cell
End Sub

Per il (2) devi modificare all’ interno della Sub CommandButton1_Click() di Userform2, verso la meta’ l’ istruzione For W = 1 To 8 in For W = 1 To 7 e poi aggiungere una
Codice: Seleziona tutto
Cells(iRow, W) = Val(UserForm2.Controls("TextBox" & W).Text)
Non so se col H e’ manipolata anche in altre parti del tuo processo.

Trovo invece pericolosa l’ idea che il file si salvi anche se l’ utente non lo chiede.

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: programma per archivio dvd

Postdi raimea » 11/01/11 19:44

ai ragione su tutto
1) il numero serve x inserire un nuovo dvd , ma lo devo Solo vedere
potrei decidere di mettere un numero diverso.

2) la macro
Codice: Seleziona tutto
Set MyRange = Application.Intersect(Range("H:H"), ActiveSheet.UsedRange)
For I = 1 To Application.WorksheetFunction.Max(MyRange) + 1
If Application.WorksheetFunction.CountIf(MyRange, I) = 0 Then
FrePos = I: Exit For
End If
Next I


l'ho messa all'interno della macro "colora"

3) in col H ora ci sono solo numeri

4) ho aggiunto
Codice: Seleziona tutto
Cells(iRow, W) = Val(UserForm2.Controls("TextBox" & W).Text)

ma non vedo cambiamenti a cosa doveva servire ?

5) confermo che e' pericolosissimo salvare senza chiedere all'uscita
ma non so come togliere questa funzione

6) ma alla fine.....come faccio a vedere il numero ricavoato "Frepos" ?

http://www.sendspace.com/file/of9yl8
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Re: programma per archivio dvd

Postdi Anthony47 » 12/01/11 02:44

1) Con la procedura che ti avevo descritto VEDRESTI quel numerino nel textbox8 di userform2, cioe’ il box destinato a contenere la posizione; e se quella non ti piace puoi sovrascrivere il textbox con altro valore.

2) non so quanto e’ cruciale questa macro (colora) da poterti dare il numerino aggiornato all’ ultimo inserimento; e' per questo che ti avevo suggerito di inserirla nella macro che gestisce un inserimento

3) “in col H ora ci sono solo numeri”; la interpreto come “ho trasformato il contenuto di col H da stringhe a numeri”

4) Quella istruzione serve a metterti nella colonna H, in fase di aggiunta, un numero e non un testo.

5) Per non salvare in modo subdolo devi togliere tutta la macro BeforeClose in ThisWorkbook

6) Se avessi fatto come ti avevo detto FrePos l’ avresti gia’ visto, e soprattutto l’ avresti visto quando ti serve (in fase di "inserimento nuovo") e messo dove serve (nel TextBox8)
Deduco che devo non aver capito qualcosa del tuo foglio...

Quindi, a scelta e secondo il tuo contesto e preferenza:
-finita la macro metti MsgBox(FrePos)
-finita la macro metti quel valore in una cella libera che destini allo scopo, tipo Sheets("Foglio1").Range("Z1").Value=FrePos
-in testa a Modulo1 scrivi Public FrePos as Integer, cosi’ la variabile e’ visibile a tutte le macro
-una combinazione di tutto questo

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: programma per archivio dvd

Postdi raimea » 12/01/11 07:53

ho fatto il possibile x seguire alla lettera i tuoi consigli.
1)ora all'uscita chiede di "salvare ? "
2) in testbox8 di usefrm2 appare un numero.
(e' possibile non far uscire lo zero ?, giustam lui lo vede come "minore", disponibile)
3) in useform2 ho messo un pulsante x la macro:
Codice: Seleziona tutto
Set MyRange = Application.Intersect(Range("H:H"), ActiveSheet.UsedRange)
For I = 1 To Application.WorksheetFunction.Max(MyRange) + 1
If Application.WorksheetFunction.CountIf(MyRange, I) = 0 Then
FrePos = I: Exit For
End If
Next I


ma al 2do inserimento quando mi serve un nuovo numero non fa apparire piu nulla.

4) purtroppo ora che ho il numero in testbox8
non mi salva piu titolo ,regista,autore ecc.... mi mette tutti zero ?
perche...? :oops:

grazie x la pazienza

http://www.sendspace.com/file/oj7gey


3) purtroppo pero
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Re: programma per archivio dvd

Postdi Anthony47 » 12/01/11 21:56

Ho rivisto a spanne il ciclo di inserimento e ho fatto qualche modifica che trovi nel file allegato; le modifiche sono evidenziate con >>>, e riguardano sia le macro che Foglio2.
A grandi linee:
1) sul codice di UserForm2
-ho corretto in CommandButton1_Click() il ciclo For W = 1 To 7 e l' istruzione da aggiungere che avevi implementato male
-ho aggiunto una .ListIndex = 0 per riposizionare i valori dei combobox a fine inserimento
-ho spostato MsgBox "REGISTRAZIONE EFFETTUATA"; ora viene mostrato prima di azzerare la form
-ho tagliato la UserForm_Activate(), spostando molte delle operazioni all' interno della macro Ordinamento

2) Ho spostato dentro Sub numdisp() la compilazione di TextBox8

3) Ho modificato la Sub Ordinamento() per inserire le definizioni dei ComboBoxXX.RowSource

4) Su Foglio2 ho tolto le intestazioni e uso la prima riga vuota come posizione di default degli indici dei combobox

Non ho guardato altre parti del programma.

Ho notato che non ci sono controlli per evitare che si usi una posizione gia' occupata, per cui ci sono numerose posizioni con duplice, o triplice o anche quadrupla posizione; se si vuole evitare cio' puoi commentare le istruzioni che trovi verso l' inizio di CommandButton1_Click() di UserForm2.

Per questa verifica ho usato le colonne L ed M di Foglio1, il cui contenuto comunque puo' ora essere eliminato.

Trovi il file qui: http://rapidshare.com/files/442241602/R ... -Ant-1.xls

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: programma per archivio dvd

Postdi raimea » 12/01/11 22:37

:o
mamma mia quante cose mi hai corretto,
ovviamente funziona tutto e sto tentando di capire
come/perche' sono state fatte in questa maniera.

e' giusto che ci siano i "doppioni" nella col H --> posizione
perche nel formato dvx sullo stesso DVD ci stanno piu titoli.... ;)

x ora Mille grazie.
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

programma per archivio dvd

Postdi raimea » 13/01/11 18:12

errore saltuario
spesso (ma non sempre), quando sono nella maschera principale (usefrm1)
e premo inserisci nuovo record (x accedere alla useform2)

mi da questo errore:
---> errore run time 1004
errore nel metodo sort per la classe range <---

e con debug porta a questo, nella macro subordinamento

Columns("A:A").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom


per proseguire devo chiudere il file e riaprirlo..
puo dipendere da un problm del mio pc ?

ringrazio

http://www.sendspace.com/file/6d7qly
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Re: programma per archivio dvd

Postdi Anthony47 » 13/01/11 23:54

Succede per caso quando la colonna A e' ancora vuota? Se SI, allora prova a mettere in riga 2 una cella con il carattere "|" (in genere e' in alto a sx, il Maius di "\").
E succede solo con la col A o anche le altre della sub Ordinamento?

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

programma per archivio dvd

Postdi raimea » 14/01/11 07:11

succede anche con la col A compilata.
-in col A il programma mette automaticamente un numero (id film)
-succede sempre con col. A,
non so se dovuto al fatto che e' la prima che la macro (ordinamento)
dovrebbe ordinare, ma mi succede sempre (solo) con col A.
ciao
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Re: programma per archivio dvd

Postdi raimea » 14/01/11 07:31

errata corrige.. :-?

la macro in questione lavora sul foglio 2
quindi l'errore succede mentre si accede al fgl.2 e tenta di ordinare in ord. alfabetico,
comunque:

succede anche con la col A compilata.
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Re: programma per archivio dvd

Postdi Anthony47 » 14/01/11 15:29

non sono riuscito a replicare il problema; prova a spostare le 3 istruzioni relative alla gestion della col A subito dopo quelle di col B, cosi' vediamo se va in crisi con qualsiasi colonna.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: programma per archivio dvd

Postdi raimea » 14/01/11 17:19

fatto, ho messo B come primo ordinamento
e il problema, dopo alcune registrazioni,
si e' ripresentato.
riporto cio che col debug, mi ha messo in colore giallo:

Codice: Seleziona tutto
Columns("B:B").Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlYes, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
http://www.lelugarine.eu
S.O. Seven7, Excell 2010
Avatar utente
raimea
Utente Senior
 
Post: 1101
Iscritto il: 11/02/10 07:33
Località: lago

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "programma per archivio dvd":


Chi c’è in linea

Visitano il forum: PcBase e 7 ospiti