Condividi:        

vba+excel2003:dividere foglio in due ...

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

vba+excel2003:dividere foglio in due ...

Postdi karug64 » 07/02/12 23:17

Salve a tutti.
Non so se e' possibile ottenere quello che cerco di fare.... quindi scusatemi in anticipo se posto una "castroneria" :oops:
Vorrei ottenere qualcosa come da immagine allegata

https://rapidshare.com/files/134435507/Schermata1.png

vorrei cioe' avere nella parte alta di TUTTI i fogli (oltre 30) un menu fisso con le scelte ed i campi di input cosi' da poter selezionare i fogli dal form_menu.

In alternativa, mi basterebbe avere la parte alta di ogni foglio IMMODIFICABILE con tutti i bottoni ed i campi di input su ogni foglio.
In effetti basterebbe fare uin modo (ma non so come....) che ad ogni cambio di foglio (eseguito sia da codice vba - alla pressione di un tasto - che da click sulla linguetta del foglio stesso,) venga lanciata una rouine che mi metta nella parte alta o la form_menu o tutti i bottoni e texbnox ecc.

Spero di essermi spegato.
Grazie
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Sponsor
 

Re: vba+excel2003:dividere foglio in due ...

Postdi Flash30005 » 07/02/12 23:39

Dov'è il problema?

L'User Form l'hai realizzato ora lo puoi rendere visibile ad ogni attivazione di foglio

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: vba+excel2003:dividere foglio in due ...

Postdi karug64 » 07/02/12 23:56

Flash30005 ha scritto:Dov'è il problema?

L'User Form l'hai realizzato ora lo puoi rendere visibile ad ogni attivazione di foglio

Ciao


Ciao.
In quale evento dovro' mettere l'userform.show ?
Inoltre, devo visualizzarlo in modo tale che sia sempre visibile e che mi permetta di cambiare foglio cliccando sulle linguette in basso.

Grazie
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Re: vba+excel2003:dividere foglio in due ...

Postdi Flash30005 » 08/02/12 00:24

L'userForm potrebbe essere attivato all'apertura del file
quindi in Workbook_Open

Ma forse è meglio che invii il file anche vuoto
e specificare cosa intendi per "linguette in basso" e che cosa significa Menu1, Menu2 e le caselle bianche nell'UserForm

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: vba+excel2003:dividere foglio in due ...

Postdi karug64 » 09/02/12 20:37

Flash30005 ha scritto:L'userForm potrebbe essere attivato all'apertura del file
quindi in Workbook_Open

Ma forse è meglio che invii il file anche vuoto
e specificare cosa intendi per "linguette in basso" e che cosa significa Menu1, Menu2 e le caselle bianche nell'UserForm

Ciao


Salve.
Per Menu1, Menu2 intendo i bottoni presenti nella form, per "linguette in basso" intendo i nomi dei fogli "foglio1", "foglio2" ecc.

Grazie.
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Re: vba+excel2003:dividere foglio in due ...

Postdi Flash30005 » 09/02/12 21:03

Invia un Facsimile di file con userform come ti occorre
inserisci qualche descrizione di cosa vorresti ottenere

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: vba+excel2003:dividere foglio in due ...

Postdi Anthony47 » 09/02/12 22:12

Mi pare che la richiesta di karug64 sia piu' che altro esplorativa, per dire che forse non ha ancora una cosa precisa che gli occorra.
Comunque se il bisogno e' di avere "in alto" una userform, allora bastera' lanciare la form in modalita' "non a scelta obbligatoria", che quindi consentira' all' utente di lavorare nella cartella di lavoro e nella form; il codice per avviare la form in questa modalita' e'
Codice: Seleziona tutto
UserForm1.Show vbModeless
Sara' da prestare attenzione alla programmazione degli oggetti, in quanto non potrai conoscere a priori quale e' il foglio attivo.

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

Re: vba+excel2003:dividere foglio in due ...

Postdi karug64 » 09/02/12 22:41

Anthony47 ha scritto:Mi pare che la richiesta di karug64 sia piu' che altro esplorativa, per dire che forse non ha ancora una cosa precisa che gli occorra.
Comunque se il bisogno e' di avere "in alto" una userform, allora bastera' lanciare la form in modalita' "non a scelta obbligatoria", che quindi consentira' all' utente di lavorare nella cartella di lavoro e nella form; il codice per avviare la form in questa modalita' e'
Codice: Seleziona tutto
UserForm1.Show vbModeless
Sara' da prestare attenzione alla programmazione degli oggetti, in quanto non potrai conoscere a priori quale e' il foglio attivo.

Ciao


Hai centrato il problema. Ho terminato il programma grazie ai vostri aiuti, ma ci sono delle "cosucce" che "non sono il massimo" .... soprattutto nella parte in cui dovrei andare a modificare dati sui fogli excel tramite listbox o altri controlli ....
e cosi' in testa mi frullava il pensiero di creare una userform "fissa" contenente il menu ed eventuali campi di input, e lavorare "direttamente" sui fogli.
Ma ....
Codice: Seleziona tutto
Sara' da prestare attenzione alla programmazione degli oggetti, in quanto non potrai conoscere a priori quale e' il foglio attivo.
gia' pone non pochi problemi .....
Si potrebbe risolvere con una routine da lanciare sempre prima di ogni altra che controlli il nome del foglio attivo ..... (se si puo' fare....).

Grazie
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Re: vba+excel2003:dividere foglio in due ...

Postdi Anthony47 » 09/02/12 22:48

Per me significa che dovrai sempre indirizzare integralmente File, foglio e cella, quindi non Range("A2").Value ma Thisworkbook.Sheets("Anagrafe").Range("A2").Value; meglio ancora se invece dei "nomi" usi i "Codename" dei fogli, con la sintassi Thisworkbook.Foglio1.Range("A2").Value

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

Re: vba+excel2003:dividere foglio in due ...

Postdi Flash30005 » 09/02/12 23:13

Io non riesco ancora a focalizzare il problema
a volte sembra di si a volte no e questo mi succede quando chi mi pone il quesito non ha le idee chiare 8)
Prendendo per esempio quest'ultima frase
karug64 ha scritto:Si potrebbe risolvere con una routine da lanciare sempre prima di ogni altra che controlli il nome del foglio attivo ..... (se si puo' fare....).

per me è risolvibile inserendo in ogni foglio questo codice:
Codice: Seleziona tutto
Private Sub Worksheet_Activate()
NomeF = Name
Call Test()
End Sub

In un modulo
inserire la variabile Pubblica NomeF as string
e nella macro test (tanto per prova)
Codice: Seleziona tutto
Sub Test()
Msgbox NomeF
End sub

Ogni volta che cambi foglio avrai il nome del foglio sul messaggio
ma ne puoi fare qualsiasi altro uso

Con questo non vedo l'utilizzo dell'UserForm iniziale del quale mi rimangono ancora oscure le funzioni dei TextBox (o Listbox)

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: vba+excel2003:dividere foglio in due ...

Postdi karug64 » 09/02/12 23:14

Anthony47 ha scritto:Per me significa che dovrai sempre indirizzare integralmente File, foglio e cella, quindi non Range("A2").Value ma Thisworkbook.Sheets("Anagrafe").Range("A2").Value; meglio ancora se invece dei "nomi" usi i "Codename" dei fogli, con la sintassi Thisworkbook.Foglio1.Range("A2").Value

Ciao


Grazie.
Ma c'e' un modo per avere una userform senza bottoni in alto a sinistra (X) ? Grazie.
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Re: vba+excel2003:dividere foglio in due ...

Postdi Flash30005 » 09/02/12 23:20

Continuo a non capire
I bottoni ce li mette l'utente
se non li vuoi non li inserisci
Flash30005 ha scritto:mi rimangono ancora oscure le funzioni dei TextBox (o Listbox)


Non mi ripeto più! 8)
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: vba+excel2003:dividere foglio in due ...

Postdi Anthony47 » 10/02/12 10:44

Ma c'e' un modo per avere una userform senza bottoni in alto a sinistra (X) ? Grazie.
Ma su quale aspetto chiedi aiuto
-una userform
-senza bottoni
-in alto a sinistra
??
E che significa "(X)"?

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

Re: vba+excel2003:dividere foglio in due ...

Postdi Flash30005 » 10/02/12 10:49

Con le esigue e poco chiare specifiche fornite ho approntato questo file

L'userForm si posiziona in alto a sinistra
una combox ti permette di indicare il foglio nel quale andrai a inserire i dati
(premendo l'apposito comando "InsDati")
dati che avrai digitato nei textbox
nelle celle relative indicate dalle Label dell'userform


Sulla falsa riga di questo esempio potrai implementarlo e/o adattarlo alle tue esigenze

Ciao

EDIT: Leggi quanto scritto qui su da Anthony
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: vba+excel2003:dividere foglio in due ...

Postdi karug64 » 11/02/12 10:10

Innanzitutto grazie a tutti.
Le soluzioni proposte mi stanno portando sulla strada giusta.
In allegato ecco l'immagine che dovrebbe meglio di tante parole cercare di far capire quello che cerco di realizzare (graficamente).

https://rapidshare.com/files/3632336855/form.jpg

Dovrei, avere due form contemporaneamente sul foglio.
Questi form dovrebbero avere queste caretteristiche:
1) dovrebbero essere FISSI (cioe' non trascinabili, non ridimensionabili)
2) dovrebbero non avere il bordo superiore (dove viene visualizzata la caption)
3) non dovrebbero avere pulsanti di chiusura e/o ridimensionamento)

Sapete dirmi se e' possibile ottenere questo risultato ?

Grazie
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Re: vba+excel2003:dividere foglio in due ...

Postdi Flash30005 » 11/02/12 13:28

Ma se devono essere fissi e non modificabili
perché avere due user form e non uno unico, con tutti i comandi e opzioni?
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: vba+excel2003:dividere foglio in due ...

Postdi karug64 » 11/02/12 14:15

Flash30005 ha scritto:Ma se devono essere fissi e non modificabili
perché avere due user form e non uno unico, con tutti i comandi e opzioni?

Perche' non riesco a creare un form come quello dell'immagine (a forma di L con a vista i fogli) ....
Ciao.
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Re: vba+excel2003:dividere foglio in due ...

Postdi Anthony47 » 11/02/12 23:55

Sono un noto portasfiga, e prevedo che ti scontrerai con le X screen sizes * Y screen resolutions in uso sui pc su cui vorresti usare questa interfaccia.
Cio' detto, e' un po' trigoso cercare di posizionare le userform in posizione "in alto a sx", non sapendo ad esempio quanti menu' hai in testa alla tua applicazione; quindi sto ancora facendo degli esperimenti procedendo con blandi passi avanti.
Sarebbe molto piu' semplice lavorare con controlli ActiveX (quelli della barra degli Strumenti di controllo), cioe' non incorporati in una singola (anzi "due singole") userform, sovrapposti a un rettangolo per simularla; vedi problemi a seguire questa strada?

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

Re: vba+excel2003:dividere foglio in due ...

Postdi karug64 » 12/02/12 00:34

Anthony47 ha scritto:Sono un noto portasfiga, e prevedo che ti scontrerai con le X screen sizes * Y screen resolutions in uso sui pc su cui vorresti usare questa interfaccia.
Cio' detto, e' un po' trigoso cercare di posizionare le userform in posizione "in alto a sx", non sapendo ad esempio quanti menu' hai in testa alla tua applicazione; quindi sto ancora facendo degli esperimenti procedendo con blandi passi avanti.
Sarebbe molto piu' semplice lavorare con controlli ActiveX (quelli della barra degli Strumenti di controllo), cioe' non incorporati in una singola (anzi "due singole") userform, sovrapposti a un rettangolo per simularla; vedi problemi a seguire questa strada?

Ciao


Ciao.
Non vedo problemi alla tua seconda soluzione se non per il fatto che (e qui chiedo a te se il mio dubbio e' legittimo...):
nella mia intenzione c'e' che selezionando dei commandbutton andro' a selezionare i relativi fogli (per visulizzare dati o per modificarli ecc). Se adotta questa soluzione, nel momento in cui ho un foglio3.select cosa succede a video ? Il rettangolo con i controlli all'interno si trova su un foglio (per esempio foglio1) quindi al foglio3.select devo ricrearlo ? E non potrei averlo su ogni foglio in quanto cambierebbero i riferimento ai commandbutton, textbox e quant'latro presente tra foglio1 e foglio(x).....
Se le mie perplessita' sono superabili, ben venga questa soluzione.
Grazie.
Office 2010
karug64
Utente Senior
 
Post: 746
Iscritto il: 20/11/11 21:22

Re: vba+excel2003:dividere foglio in due ...

Postdi Flash30005 » 12/02/12 05:19

Ma per caso ti occorre qualcosa del genere?

Download File

Avvia il file e premi OK al primo messaggio

ciao

P.s. Non è tutta farina del mio sacco ma ho assemblato delle macro...
(Sicuramente da sistemare e adattare all'esigenza)
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "vba+excel2003:dividere foglio in due ...":


Chi c’è in linea

Visitano il forum: Nessuno e 31 ospiti