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

Office 2003 Opzioni
musico78
Inviato: Monday, November 26, 2012 10:22:04 AM
Rank: AiutAmico

Iscritto dal : 11/15/2012
Posts: 33
Ho ancora problemi con questa funzione suggerita da Giap
E' una specie di agenda di 365 fogli (365 Giorni)
Dove la cella (I2) sono i Giorni e (Y2) i Mesi

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

La macro funziona correttamente per l'intero mese. Ma quando vado a cambiare mese (Ad Esempio da Gennaio passo a Febbraio) non va più.

Chi sa aiutarmi?

Grazie....
Sponsor
Inviato: Monday, November 26, 2012 10:22:04 AM

 
a10n11
Inviato: Tuesday, November 27, 2012 11:12:33 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
come gia indicato nei post precedenti, la macro si attiva solo utilizzando la casella di convalida del giorno.
Cambiando solo il mese la macro non produce effetti.
saluti
Giap

musico78
Inviato: Tuesday, November 27, 2012 11:47:48 AM
Rank: AiutAmico

Iscritto dal : 11/15/2012
Posts: 33
Non è possibile creare una macro che funzioni sia sui giorni che sui mesi?
Grazie.

a10n11 ha scritto:
salve
come gia indicato nei post precedenti, la macro si attiva solo utilizzando la casella di convalida del giorno.
Cambiando solo il mese la macro non produce effetti.
saluti
Giap
a10n11
Inviato: Tuesday, November 27, 2012 2:53:25 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
musico78 ha scritto:
Non è possibile creare una macro che funzioni sia sui giorni che sui mesi?
Grazie.



salve
se la macro si attivasse anche per la cella che indica i mesi, non ti darebbe il tempo di selezionare i giorni perchè leggerebbe il giorno presente nella cella I2.
Qual'è il problema di selezionare il giorno dopo aver selezionato il mese??
potresti risolvere diversamente assegnando una macro ad un pulsante da cliccare dopo aver cambiato il mese o i giorni. questo ti constringerebbe ad inserire un pulsante su ogni foglio, ma risparmieresti tuttte le macro descritte nei moduli del fogli.
saluti
Giap

musico78
Inviato: Tuesday, November 27, 2012 3:50:55 PM
Rank: AiutAmico

Iscritto dal : 11/15/2012
Posts: 33
Il problema è che la macro funziona benissimo per un mese (Per ora ho fatto solo gennaio e un giorno di febbraio).
Ma se seleziono il nuovo mese (Febbraio) e poi il giorno la macro non si attiva. Non mi da neanche nessun errore.
Se pero' seleziono (Febbraio) chiudo e riapro il file e seleziono il giorno funziona. Se pero' riseleziono gennaio di nuovo tutto bloccato.
Non saprei proprio.

Mi andrebbe bene anche la macro che mi cambi sui mesi e giorni.

Grazie tanto per la pazienza.

a10n11 ha scritto:
musico78 ha scritto:
Non è possibile creare una macro che funzioni sia sui giorni che sui mesi?
Grazie.



salve
se la macro si attivasse anche per la cella che indica i mesi, non ti darebbe il tempo di selezionare i giorni perchè leggerebbe il giorno presente nella cella I2.
Qual'è il problema di selezionare il giorno dopo aver selezionato il mese??
potresti risolvere diversamente assegnando una macro ad un pulsante da cliccare dopo aver cambiato il mese o i giorni. questo ti constringerebbe ad inserire un pulsante su ogni foglio, ma risparmieresti tuttte le macro descritte nei moduli del fogli.
saluti
Giap
a10n11
Inviato: Tuesday, November 27, 2012 6:31:35 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
non posso tirare ad indovinare, bisogna che mi mostri il file che stai utilizzando magari togliendo i dati sensibili.
saluti
Giap

musico78
Inviato: Wednesday, November 28, 2012 9:12:40 AM
Rank: AiutAmico

Iscritto dal : 11/15/2012
Posts: 33
Se vuole posso inviarle il File (Che non è ancora finito).
Mi puo' fornire un @mail?
Grazie.

a10n11 ha scritto:
salve
non posso tirare ad indovinare, bisogna che mi mostri il file che stai utilizzando magari togliendo i dati sensibili.
saluti
Giap
a10n11
Inviato: Wednesday, November 28, 2012 9:33:13 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
musico78 ha scritto:
Se vuole posso inviarle il File (Che non è ancora finito).
Mi puo' fornire un @mail?
Grazie.


salve
condividi il file utilizzando il servizio che trovi QUI
saluti
Giap

musico78
Inviato: Wednesday, November 28, 2012 9:50:51 AM
Rank: AiutAmico

Iscritto dal : 11/15/2012
Posts: 33
Ho caricato il File.

Grazie.

a10n11 ha scritto:
musico78 ha scritto:
Se vuole posso inviarle il File (Che non è ancora finito).
Mi puo' fornire un @mail?
Grazie.


salve
condividi il file utilizzando il servizio che trovi QUI
saluti
Giap
a10n11
Inviato: Wednesday, November 28, 2012 9:54:05 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
musico78 ha scritto:
Ho caricato il File.

Grazie.


salve
bisogna che posti anche il link che ti assegnano per poterlo prelevare.
saluti
Giap

musico78
Inviato: Wednesday, November 28, 2012 10:02:53 AM
Rank: AiutAmico

Iscritto dal : 11/15/2012
Posts: 33
http://www.wikisend.com/download/521530/Prova%20Agenda.xls

a10n11 ha scritto:
musico78 ha scritto:
Ho caricato il File.

Grazie.


salve
bisogna che posti anche il link che ti assegnano per poterlo prelevare.
saluti
Giap
a10n11
Inviato: Wednesday, November 28, 2012 11:22:58 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
la macro non viene eseguita perchè sono disabilitati gli eventi.
Probabilmente è stata interrotta la macro prima della sua conclusione e non sono stati riabilitati gli eventi.

soluzione:

1) copia ed esegui questa macro:

Sub abilita()
Application.EnableEvents = True
End Sub

2) per evitare di ricadere nel problema, modifica la tua macro come segue:


Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error GoTo fine
If Target.Address = Range("i2").Address Then
foglio = Range("y2").Value & "_" & Format(Range("i2").Value, "00")
Sheets(foglio).Activate
Sheets(foglio).Range("i2").Value = Right(foglio, 2)
Application.EnableEvents = True
End If
fine:
Application.EnableEvents = True
End Sub



ora dovrebbe funzionare.
saluti
Giap

musico78
Inviato: Wednesday, November 28, 2012 3:01:16 PM
Rank: AiutAmico

Iscritto dal : 11/15/2012
Posts: 33
Con questa macro ho il problema di qualche tempo fa. Quando vado al mese indicato (ad esempio 01 Febbraio) tutto ok. Ma poi da li ritorno a gennaio il foglio è esatto, ma il nome del mese è semrpre Febbraio.

Mi piacerebbe anche una macro che cambierebbe selezionado sia il mese sia il giorno. E' Possibile.

Ringrazio sempre per l'infinita pazienza.


a10n11 ha scritto:
salve
la macro non viene eseguita perchè sono disabilitati gli eventi.
Probabilmente è stata interrotta la macro prima della sua conclusione e non sono stati riabilitati gli eventi.

soluzione:

1) copia ed esegui questa macro:

Sub abilita()
Application.EnableEvents = True
End Sub

2) per evitare di ricadere nel problema, modifica la tua macro come segue:


Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error GoTo fine
If Target.Address = Range("i2").Address Then
foglio = Range("y2").Value & "_" & Format(Range("i2").Value, "00")
Sheets(foglio).Activate
Sheets(foglio).Range("i2").Value = Right(foglio, 2)
Application.EnableEvents = True
End If
fine:
Application.EnableEvents = True
End Sub



ora dovrebbe funzionare.
saluti
Giap
a10n11
Inviato: Thursday, November 29, 2012 9:43:55 AM

Rank: AiutAmico

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

prova con questa modifica


Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error GoTo fine
If Target.Address = Range("i2").Address Then
foglio = Range("y2").Value & "_" & Format(Range("i2").Value, "00")
Sheets(foglio).Activate
Sheets(foglio).Range("i2").Value = Right(foglio, 2)
Sheets(foglio).Range("y2").Value = Mid(foglio, 1, InStr(1, foglio, "_") - 1)
Application.EnableEvents = True
End If
fine:
Application.EnableEvents = True
End Sub

saluti
Giap



musico78
Inviato: Thursday, November 29, 2012 2:19:55 PM
Rank: AiutAmico

Iscritto dal : 11/15/2012
Posts: 33
Ok. Va tutto benissimo. E' proprio quello che volevo....
In piu' ho fatto anche in modo che mi funzioni selezionando anche solamente il mese.

E' stato pazientissimo e gentilissimo..
Grazieeeeeee.

Per me si puo' anche chiudere... [RISOLTO]


a10n11 ha scritto:
salve

prova con questa modifica


Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error GoTo fine
If Target.Address = Range("i2").Address Then
foglio = Range("y2").Value & "_" & Format(Range("i2").Value, "00")
Sheets(foglio).Activate
Sheets(foglio).Range("i2").Value = Right(foglio, 2)
Sheets(foglio).Range("y2").Value = Mid(foglio, 1, InStr(1, foglio, "_") - 1)
Application.EnableEvents = True
End If
fine:
Application.EnableEvents = True
End Sub

saluti
Giap

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.