Condividi:        

Indicizzare date fine mese

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

Re: Indicizzare date fine mese

Postdi Statix » 20/05/12 17:37

Ecco un anteprima del programma,come vedi a sinistra ho messo delle celle di controllo delle
ultime estrazioni del mese in corso.

Immagine
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Sponsor
 

Re: Indicizzare date fine mese

Postdi Flash30005 » 20/05/12 18:37

Le celle senza date devono essere vuote e non con trattini "---------"
Io non riscontro i tuoi problemi

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: Indicizzare date fine mese

Postdi Statix » 20/05/12 20:01

ho fatto alcune prove ho tolto i segni ----
ma mi da ugualmente l'errore,se c'è qualche estrazione vuota
e l'estrazioni del mese in corso sono minori della selezione
mentre se ci sono tutte le estrazioni va bene,qualsiasi selezione.
riprovo e ti faccio sapere.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Indicizzare date fine mese

Postdi Statix » 20/05/12 20:22

ok va bene ,erano le celle vuote che davano problemi,le ho eliminate adesso mi sembra che vada tutto bene,
non mi ero accorto che non c'era bisogno di mettere la prima estrazione dell'archivio come inizio,
grazie e scusami.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Indicizzare date fine mese

Postdi Statix » 01/07/12 10:15

Ciao Flash30005,
ho ancora un problema con la macro,
ho aggiornato l'archivio al 30/06/2012,
la macro mi conteggia tutti i fine mese tranne quella del 30/06/2012,
provato con tutti gli altri valori da 1 a 12,è perfetta,
capita solo se in effetti l'ultima dell'archivio è quella fine mese
e mi ritrovo a indicizzare proprio quella a fine mese,cioè 30/06/2012,
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Indicizzare date fine mese

Postdi Statix » 01/07/12 11:05

allego foto
Immagine
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Indicizzare date fine mese

Postdi Flash30005 » 01/07/12 11:44

Non ho il tuo file
Ho ripreso il primo file da te inviato
ho inserito le macro postate seguendo le indicazioni che avevo dato
e a me sembra non ci siano errori e non si ha bisogno di due macro per fare ciò che era previsto
allego il file

fai sapere
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: Indicizzare date fine mese

Postdi Statix » 01/07/12 11:54

Ciao Flas30005,
ho provato non cambia nulla,
prova a mettere nell'archivio l'ultima estrazione con la data fine mese e prova
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Indicizzare date fine mese

Postdi Statix » 01/07/12 12:16

Come vedi ho preso il tuo file,ho tolto
delle estrazioni facendo si che rimanesse l'ultima del mese
come vedi non va.
per me andrebbe bene anche seconda macro,
che richiamerei a condizione,
ho provato anche la formula di Anthony47,
Codice: Seleziona tutto
=SE(MESE(C9)=MESE(C10);"";MAX($B$3:$B8)+1)

va benissima, ma sarei costretto a inserire migliaia di formule con evidente rallentamento,


Immagine
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Indicizzare date fine mese

Postdi Flash30005 » 01/07/12 23:14

In pratica non scrive sull'ultima estrazione se è proprio l'estrazione in esame
ok
prova questa macro leggermente modificata
Codice: Seleziona tutto
Sub TrovaEstr()
UR = Worksheets("Archivio").Range("A" & Rows.Count).End(xlUp).Row + 1
If UR < 3 Then UR = 3
Range("B3:B" & UR).ClearContents
MM = Month(Range("C3").Value)
CS = 0
Application.EnableEvents = False
ES = Range("J2").Value
For RR = 3 To UR
   'If Len(Range("C" & RR).Value) > 9 Then
        If Month(Range("C" & RR).Value) <> MM Then
            If ES <> "FM" Then
                For RS = 1 To ES
                    If ES = RS Then
                        CS = CS + 1
                        If Range("C" & RR).Value <> "" Then Range("B" & RR).Value = CS
                        RR = RR - 1
                    End If
                    RR = RR + 1
                Next RS
                MM = Month(Range("C" & RR).Value)
            Else
                CS = CS + 1
                'RigaP = RR
                If MM <> "" Then Range("B" & RigaP).Value = CS
            End If
        Else
            RigaP = RR
        End If
        MM = Month(Range("C" & RR).Value)
    'End If
Next RR
Application.EnableEvents = True
End Sub


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: Indicizzare date fine mese

Postdi Statix » 02/07/12 09:46

Ciao Flash30005,
mi sono reso conto che è impossibile stabilire
se l'ultima estrazione del mese sia effettivamente l'ultima,
visto le variabili possibili del lotto,
l'ultima del mese dovrebbe coincidere con i giorni martedi,giovedi o sabato,
e non è detto che ci possa essere un estrazione fatta il giorno successivo diverso da quelli stabiliti,
morale della favola quando capita effettivamente l'ultima del mese ,aggiorno manualmente,
con l'aggiornamento di una nuova estrazione di inizio mese la macro ritorna tutto ok.
grazie.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Indicizzare date fine mese

Postdi Flash30005 » 02/07/12 15:45

non mi dire che non funziona nemmeno la macro che ho inviato!?

L'ho testata sul file con 28/04/2012 e a me funziona
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: Indicizzare date fine mese

Postdi Flash30005 » 02/07/12 17:01

Ho capito dov'è l'inghippo
ora ho aggiunto un controllo giorno e mese
prova con questo elaborato

Codice: Seleziona tutto
Public GS
Sub TrovaEstr()
AggV = 0
If Range("J2").Value = "FM" Then AggV = 1
UR = Worksheets("Archivio").Range("A" & Rows.Count).End(xlUp).Row + AggV
If UR < 3 Then UR = 3
Range("B3:B" & UR).ClearContents
MM = Month(Range("C3").Value)
CS = 0
Application.EnableEvents = False
ES = Range("J2").Value
For RR = 3 To UR
   'If Len(Range("C" & RR).Value) > 9 Then
        If Month(Range("C" & RR).Value) <> MM Then
            If ES <> "FM" Then
                For RS = 1 To ES
                    If ES = RS Then
                        CS = CS + 1
                        If Range("C" & RR).Value <> "" Then Range("B" & RR).Value = CS
                        RR = RR - 1
                    End If
                    RR = RR + 1
                Next RS
                MM = Month(Range("C" & RR).Value)
            Else
                CS = CS + 1
                If MM <> "" Then Range("B" & RigaP).Value = CS
            End If
        Else
            RigaP = RR
        End If
        MM = Month(Range("C" & RR).Value)
    'End If
Next RR
If Range("J2").Value = "FM" Then
ControllaFM
End If
Application.EnableEvents = True
End Sub

Sub ControllaFM()
UR = Worksheets("Archivio").Range("A" & Rows.Count).End(xlUp).Row
For GG = 1 To 31
DataG = GG & "/" & Month(Range("C" & UR).Value) & "/" & Year(Range("C" & UR).Value)
On Error GoTo EsciD
If Weekday(DataG, 2) = 2 Or Weekday(DataG, 2) = 4 Or Weekday(DataG, 2) = 6 Then
GS = Weekday(DataG, 2)
DataFM = DataG
End If
Next GG
EsciD:
On Error GoTo 0
If Range("C" & UR).Value <> DataFM And Weekday(Range("C" & UR).Value, 2) <> GS Then Range("B" & UR).ClearContents
'MsgBox DataFM & " " & GS
End Sub


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: Indicizzare date fine mese

Postdi Statix » 02/07/12 20:55

Ciao Flash30005,
mi hai letto nel pensiero,quello di fare una seconda macro che controllava il fine mese,anche io avevo pensato la stessa cosa ,cioè controllare fine mese ma lo avevo fatto con le formule.
Immagine
adesso mi sembra che la macro vada tutto ok,
poi farò ulteriori verifiche,non si sa mai. 8)
ti ringrazio tantissimo
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Indicizzare date fine mese

Postdi Statix » 02/07/12 21:37

La vedo dura,
ho provato ad aggiungere un estrazione,
la macro fa un salto di conteggio.
se la tolgo conteggia giusto,
se invece ne aggiungo 2 estrazioni,
conteggia giusto
Immagine
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Re: Indicizzare date fine mese

Postdi Flash30005 » 02/07/12 23:28

Mai disperare! ;)
(Sostituisci tutto perché l'ho semplificata)

Codice: Seleziona tutto
Public CS
Sub TrovaEstr()
UR = Worksheets("Archivio").Range("A" & Rows.Count).End(xlUp).Row
If UR < 3 Then UR = 3
Range("B3:B" & UR).ClearContents
MM = Month(Range("C3").Value)
CS = 0
Application.EnableEvents = False
ES = Range("J2").Value
For RR = 3 To UR
        If Month(Range("C" & RR).Value) <> MM Then
            If ES <> "FM" Then
                For RS = 1 To ES
                    If ES = RS Then
                        CS = CS + 1
                        If Range("C" & RR).Value <> "" Then Range("B" & RR).Value = CS
                        RR = RR - 1
                    End If
                    RR = RR + 1
                Next RS
                MM = Month(Range("C" & RR).Value)
            Else
                CS = CS + 1
                Range("B" & RigaP).Value = CS
            End If
        Else
            RigaP = RR
        End If
        MM = Month(Range("C" & RR).Value)
Next RR
If Range("J2").Value = "FM" Then
ControllaFM
End If
Application.EnableEvents = True
End Sub

Sub ControllaFM()
UR = Worksheets("Archivio").Range("A" & Rows.Count).End(xlUp).Row
For GG = 1 To 31
    DataG = Format(GG & "/" & Month(Range("C" & UR).Value) & "/" & Year(Range("C" & UR).Value), "dd/mm/yyyy")
    On Error GoTo EsciD
    If Weekday(DataG, 2) = 2 Or Weekday(DataG, 2) = 4 Or Weekday(DataG, 2) = 6 Then DataFM = DataG
Next GG
EsciD:
On Error GoTo 0
If Range("C" & UR).Value = DataFM Then Range("B" & UR).Value = CS + 1
End Sub


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: Indicizzare date fine mese

Postdi Statix » 03/07/12 08:23

Ciao Flash30005,
credo che questa volta ci siamo,
ho fatto alcune prove ,è tutto ok
grazie ancora per il tuo impegno.
Statix
Windows 10,
Office 2013,
Statix
Utente Senior
 
Post: 1287
Iscritto il: 12/05/06 21:55
Località: Provincia di Caserta

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "Indicizzare date fine mese":


Chi c’è in linea

Visitano il forum: Ricky0185 e 44 ospiti