Benvenuto Ospite Cerca | Topic Attivi | Utenti | | Log In | Registra

Excel 2003 Opzioni
musico78
Inviato: Monday, November 19, 2012 8:59:01 AM
Rank: AiutAmico

Iscritto dal : 11/15/2012
Posts: 33
Salve. Sto cercardo di realizzare una specie di agenda elettronica.
Vorrei fare in modo che che selezionando da un menu a tendina il mese e da un altro menu a tendina il Giorno
mi vada direttamente al foglio relativo (Mese_Giorno)
Con una macro cosigliata da Giap ho risolto parzialmente. Chi puo' Aiutarmi?????? Vorrei creare una macro tipo :

Se "Cella x" = mese e "Cella y"= Giorno allora vai al foglio "Mese_giorno"

Riporto la macro che mi ha suggerito Giap:
a10n11 ha scritto:
salve
ipotizzando che la cella di convalida, sia nella cella B2
copia questa macro nel modulo del foglio in cui si trova la cella di convalida.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("b2").Address Then
foglio = Range("B2").Value
Sheets(foglio).Activate
End If
End Sub
Pero' ho questo problemimo:
Quando accendo al foglio selezionato (Es. Marzo) dal foglio precedente (Es. Gennaio) tutto Ok.
Ma se dal foglio (Marzo) ritorno al Mese (Gennaio) mi visualizza il foglio corretto ma nel menu a tendina Risulta ancora (Marzo)
Come posso risolverlo????
Grazie Anticipatamente.


saluti
Giap
Sponsor
Inviato: Monday, November 19, 2012 8:59:01 AM

 
a10n11
Inviato: Monday, November 19, 2012 6:09:48 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
basterebbe riselezionare il mese dal menù a tendina..

se vuoi che l'aggiornamento del mese nella cella di covalida, assuma il nome del foglio cambia così:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = Range("b2").Address Then
foglio = Range("B2").Value
Sheets(foglio).Activate
With Sheets(foglio)
.Range("b2").Value = foglio
End With
End If
Application.EnableEvents = True
End Sub

saluti
Giap

musico78
Inviato: Tuesday, November 20, 2012 12:52:59 PM
Rank: AiutAmico

Iscritto dal : 11/15/2012
Posts: 33
Grazie Ora va benissimo.
Se invece vorrei modificare la mia ricerca inserendo anche il giorno (che si trova in un altra cella).
Come nel post che ho reinserito???
Poi mi rendo conto che dovrei creare 365 Foglio uno per ogni giorno dell'anno..
Puo' aiutarmi????
Grazie.


a10n11 ha scritto:
salve
basterebbe riselezionare il mese dal menù a tendina..

se vuoi che l'aggiornamento del mese nella cella di covalida, assuma il nome del foglio cambia così:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = Range("b2").Address Then
foglio = Range("B2").Value
Sheets(foglio).Activate
With Sheets(foglio)
.Range("b2").Value = foglio
End With
End If
Application.EnableEvents = True
End Sub

saluti
Giap
a10n11
Inviato: Tuesday, November 20, 2012 6:14:49 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
musico78 ha scritto:
Grazie Ora va benissimo.
Se invece vorrei modificare la mia ricerca inserendo anche il giorno (che si trova in un altra cella).
Come nel post che ho reinserito???
Poi mi rendo conto che dovrei creare 365 Foglio uno per ogni giorno dell'anno..
Puo' aiutarmi????
Grazie.


salve
bisogna che spieghi meglio come è strutturata la tua cartella di lavoro.
saluti
Giap

musico78
Inviato: Tuesday, November 20, 2012 7:01:06 PM
Rank: AiutAmico

Iscritto dal : 11/15/2012
Posts: 33
E' una specie di agenda. In verità devo finirla di costruire.
365 Fogli equivalenti ai giorni.
Vorei, tramite menu a tendina poter selezionare il giorno ed il mese e lui automaticamente dovrebbe andare al foglio slezionato
Una macro tipo :

Se "Cella x" = mese e "Cella y"= Giorno allora vai al foglio "Mese_giorno"

Grazie per l'attenzione e per l'aiuto..


a10n11 ha scritto:
musico78 ha scritto:
Grazie Ora va benissimo.
Se invece vorrei modificare la mia ricerca inserendo anche il giorno (che si trova in un altra cella).
Come nel post che ho reinserito???
Poi mi rendo conto che dovrei creare 365 Foglio uno per ogni giorno dell'anno..
Puo' aiutarmi????
Grazie.


salve
bisogna che spieghi meglio come è strutturata la tua cartella di lavoro.
saluti
Giap
a10n11
Inviato: Tuesday, November 20, 2012 11:50:28 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694

Salve
Ipotizzando che in cella B2 tu abbia l'elenco dei mesi
in cella D2 il numero dei giorni
che i nomi dei fogli siano simili a : gennaio_1 ecc.
prova questa:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = Range("D2").Address Then
foglio = Range("B2").Value & "_" & Range("d2").Value
Sheets(foglio).Activate
End If
Application.EnableEvents = True
End Sub

saluti
Giap



musico78 ha scritto:
E' una specie di agenda. In verità devo finirla di costruire.
365 Fogli equivalenti ai giorni.
Vorei, tramite menu a tendina poter selezionare il giorno ed il mese e lui automaticamente dovrebbe andare al foglio slezionato
Una macro tipo :

Se "Cella x" = mese e "Cella y"= Giorno allora vai al foglio "Mese_giorno"

Grazie per l'attenzione e per l'aiuto..




musico78
Inviato: Wednesday, November 21, 2012 9:59:44 AM
Rank: AiutAmico

Iscritto dal : 11/15/2012
Posts: 33
La macro non va.
Da errore al rigo

Sheets(foglio).Activate

Se le + più semplice posso inviarle privatamente il mio lavoro.

Attendo una sua risposta.
Grazie.


a10n11 ha scritto:

Salve
Ipotizzando che in cella B2 tu abbia l'elenco dei mesi
in cella D2 il numero dei giorni
che i nomi dei fogli siano simili a : gennaio_1 ecc.
prova questa:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = Range("D2").Address Then
foglio = Range("B2").Value & "_" & Range("d2").Value
Sheets(foglio).Activate
End If
Application.EnableEvents = True
End Sub

saluti
Giap



musico78 ha scritto:
E' una specie di agenda. In verità devo finirla di costruire.
365 Fogli equivalenti ai giorni.
Vorei, tramite menu a tendina poter selezionare il giorno ed il mese e lui automaticamente dovrebbe andare al foglio slezionato
Una macro tipo :

Se "Cella x" = mese e "Cella y"= Giorno allora vai al foglio "Mese_giorno"

Grazie per l'attenzione e per l'aiuto..


a10n11
Inviato: Wednesday, November 21, 2012 12:08:56 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
L'errore dice che non c'è corrispondenza tra il nome del foglio e i valori di cella B2 e D2
1) dimmi esattemente che nome hai dato ai fogli
2) dimmi che valore hai in B2 e che valore hai in D2
saluti
Giap


musico78 ha scritto:
La macro non va.
Da errore al rigo

Sheets(foglio).Activate

Se le + più semplice posso inviarle privatamente il mio lavoro.

Attendo una sua risposta.
Grazie.





musico78
Inviato: Wednesday, November 21, 2012 12:36:07 PM
Rank: AiutAmico

Iscritto dal : 11/15/2012
Posts: 33
Ogni foglio lo rinomino : Gennaio_01; Gennaio_02 Etc

B2 (Cella dei Mesi) ho fatto un "convalida dati" mettendo i nomi dei 12 mesi
D2 (Cella dei Giorni)ho fatto un "convalida dati" mettendo i numeri dei 30 o 31 Giorni

Grazie


a10n11 ha scritto:
salve
L'errore dice che non c'è corrispondenza tra il nome del foglio e i valori di cella B2 e D2
1) dimmi esattemente che nome hai dato ai fogli
2) dimmi che valore hai in B2 e che valore hai in D2
saluti
Giap


musico78 ha scritto:
La macro non va.
Da errore al rigo

Sheets(foglio).Activate

Se le + più semplice posso inviarle privatamente il mio lavoro.

Attendo una sua risposta.
Grazie.



a10n11
Inviato: Wednesday, November 21, 2012 3:09:56 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
Salve
succede quello che dici, perchè il formato numerico dei giorni utilizzato esclude lo zero iniziale. cambia così
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = Range("D2").Address Then
foglio = Range("B2").Value & "_" & Format(Range("d2").Value, "00")
Sheets(foglio).Activate
End If
Application.EnableEvents = True
End Sub

saluti
Giap






musico78 ha scritto:
Ogni foglio lo rinomino : Gennaio_01; Gennaio_02 Etc

B2 (Cella dei Mesi) ho fatto un "convalida dati" mettendo i nomi dei 12 mesi
D2 (Cella dei Giorni)ho fatto un "convalida dati" mettendo i numeri dei 30 o 31 Giorni


musico78
Inviato: Wednesday, November 21, 2012 3:41:52 PM
Rank: AiutAmico

Iscritto dal : 11/15/2012
Posts: 33
Questa macro funziona solo se avanzo di mese.
Cioè
Se dal 2 gennaio voglio tornare al 1 gennaio, va al foglio corretto ma nella Cella del Giorno Mi comapre ancora l'ultima selezione ossia 2 Gennaio.
Poi vorrei fare in modo che gia selezionado solo il giorno salti al foglio "Mese_Giorno".
Ad Esempio "30 Gennaio". Devo selezionare prima 30 e poi Gennaio. Vorrei fare in modo che se sto a Gennaio e seleziono "30" salti direttamnte al foglio Gennaio_30.

Grazie per la pacienza.


a10n11 ha scritto:
Salve
succede quello che dici, perchè il formato numerico dei giorni utilizzato esclude lo zero iniziale. cambia così
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = Range("D2").Address Then
foglio = Range("B2").Value & "_" & Format(Range("d2").Value, "00")
Sheets(foglio).Activate
End If
Application.EnableEvents = True
End Sub

saluti
Giap






musico78 ha scritto:
Ogni foglio lo rinomino : Gennaio_01; Gennaio_02 Etc

B2 (Cella dei Mesi) ho fatto un "convalida dati" mettendo i nomi dei 12 mesi
D2 (Cella dei Giorni)ho fatto un "convalida dati" mettendo i numeri dei 30 o 31 Giorni
a10n11
Inviato: Wednesday, November 21, 2012 6:56:21 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
1)
la macro si attiva cambiando il valore della cella che contiene il giorno. Infatti il target è puntato sulla cella D2
se il mese che ti interessa è gia selezionato ti basta cambiare solo il giorno.

2)Non è che è tua intenzione creare 365 fogli ciascuno con la stessa macro ?
in ogni foglio hai sempre le due celle di convalida?


questa che segue è la modifica alla macro:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = Range("D2").Address Then
foglio = Range("B2").Value & "_" & Format(Range("d2").Value, "00")
Sheets(foglio).Activate
Sheets(foglio).Range("d2").Value = Right(foglio, 2)
Application.EnableEvents = True
End If
End Sub

saluti
Giap




musico78 ha scritto:
Questa macro funziona solo se avanzo di mese.
Cioè
Se dal 2 gennaio voglio tornare al 1 gennaio, va al foglio corretto ma nella Cella del Giorno Mi comapre ancora l'ultima selezione ossia 2 Gennaio.
Poi vorrei fare in modo che gia selezionado solo il giorno salti al foglio "Mese_Giorno".
Ad Esempio "30 Gennaio". Devo selezionare prima 30 e poi Gennaio. Vorrei fare in modo che se sto a Gennaio e seleziono "30" salti direttamnte al foglio Gennaio_30.


musico78
Inviato: Thursday, November 22, 2012 9:08:24 AM
Rank: AiutAmico

Iscritto dal : 11/15/2012
Posts: 33
La Macro Funziona... Grazie....

Per quanto riguarda i fogli. Si Avevo intezione di creare 365 fogli (Uno per ogni Giorno) ed iserire sempre la stessa macro...
Potrebbe esserci un alternativa?



a10n11 ha scritto:
salve
1)
la macro si attiva cambiando il valore della cella che contiene il giorno. Infatti il target è puntato sulla cella D2
se il mese che ti interessa è gia selezionato ti basta cambiare solo il giorno.

2)Non è che è tua intenzione creare 365 fogli ciascuno con la stessa macro ?
in ogni foglio hai sempre le due celle di convalida?


questa che segue è la modifica alla macro:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = Range("D2").Address Then
foglio = Range("B2").Value & "_" & Format(Range("d2").Value, "00")
Sheets(foglio).Activate
Sheets(foglio).Range("d2").Value = Right(foglio, 2)
Application.EnableEvents = True
End If
End Sub

saluti
Giap




musico78 ha scritto:
Questa macro funziona solo se avanzo di mese.
Cioè
Se dal 2 gennaio voglio tornare al 1 gennaio, va al foglio corretto ma nella Cella del Giorno Mi comapre ancora l'ultima selezione ossia 2 Gennaio.
Poi vorrei fare in modo che gia selezionado solo il giorno salti al foglio "Mese_Giorno".
Ad Esempio "30 Gennaio". Devo selezionare prima 30 e poi Gennaio. Vorrei fare in modo che se sto a Gennaio e seleziono "30" salti direttamnte al foglio Gennaio_30.
Utenti presenti in questo topic
Guest


Salta al Forum
Aggiunta nuovi Topic disabilitata in questo forum.
Risposte disabilitate in questo forum.
Eliminazione tuoi Post disabilitata in questo forum.
Modifica dei tuoi post disabilitata in questo forum.
Creazione Sondaggi disabilitata in questo forum.
Voto ai sondaggi disabilitato in questo forum.

Main Forum RSS : RSS

Aiutamici Theme
Powered by Yet Another Forum.net versione 1.9.1.8 (NET v2.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.