|
Login
  • Page:
  • 1

TOPIC: RICERCA INTERVALLO DATE

RICERCA INTERVALLO DATE 6 years 3 months ago #8956

  • rugantino
  • rugantino's Avatar
  • OFFLINE
  • Gold Boarder
  • Posts: 221
  • Thank you received: 4
  • Karma: 5
Per selezionare un intervallo di Date, utilizzo
InputBox("INSERISCI LA PRIMA DATA DI RICERCA") ecc.

Questo intervallo di Date corrisponde sempre dall’1 al 30 (o 31) di ogni mese.
Per evitare di digitare sempre l’inizio e la fine di ogni mese, vorrei che nella ImputBox mi venga proposta, tramite due menu a discesa, il MESE e l’ANNO per la ricerca
…oppure, digitare semplicemente 8/14 per indicare l’intervallo dal 1/8/2014 al 31/8/2014
Come fare?

Rugantino
The administrator has disabled public write access.

RICERCA INTERVALLO DATE 6 years 3 months ago #8959

  • lorenzo1957
  • lorenzo1957's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 849
  • Thank you received: 59
  • Karma: 51
Ciao Rugantino.
questa lo fa semplicemente, avendo accortezza di inserire la data (inizio nell'esempio) nel formato MM/AA

Sub macro1()
stringaGrezza = InputBox("mese e anno della prima data di ricerca es: 01/14 per gennaio 2014")
If Len(stringaGrezza) <> 5 Or Mid(stringaGrezza, 3, 1) <> "/" Then
MsgBox ("data errata riavvia macro")
stringaGrezza = "00/00"
End If
MioMese = Left(stringaGrezza, 2) * 1
MioAnno = Right(stringaGrezza, 2) * 1
DataInizio = CDate("01" & "/" & MioMese & "/" & MioAnno)
Range("a1") = DataInizio
End Sub

ciao, Lo
PS: probabilmente ci sono metodi anche più semplici....

File Attachment:

File Name: Soluzionesemplice.xls
File Size: 23 KB


per gestire in modo "positivo" la data errata, è probabilmente preferibile:
Sub macro1()
stringaGrezza = InputBox("mese e anno della prima data di ricerca es: 01/14 per gennaio 2014")
If Len(stringaGrezza) = 5 And Mid(stringaGrezza, 3, 1) = "/" Then
MioMese = Left(stringaGrezza, 2) * 1
MioAnno = Right(stringaGrezza, 2) * 1
DataInizio = CDate("01" & "/" & MioMese & "/" & MioAnno)
Range("a1") = DataInizio
Else
MsgBox ("data errata riavvia macro")
End If
End Sub

ciao, Lo
Last Edit: 6 years 3 months ago by lorenzo1957.
The administrator has disabled public write access.

RICERCA INTERVALLO DATE 6 years 3 months ago #8961

  • lorenzo1957
  • lorenzo1957's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 849
  • Thank you received: 59
  • Karma: 51
rugantino wrote:
Per evitare di digitare sempre l’inizio e la fine di ogni mese, vorrei che nella ImputBox mi venga proposta, tramite due menu a discesa, il MESE e l’ANNO per la ricerca.
Un modo per farlo semplicemente l'abbiamo visto prima.
Volendosi complicare l'esisitenza, poichè non esiste la possibilitàdi inserire un menu a discesa nella InputBox, occorre ricorrere ad uno UserForm.
come da esempio (che non ha molti controlli: ad esempio non gestisce l'anno bisestile).
Ciao, Lo

File Attachment:

File Name: Soluzioneavanzata.xls
File Size: 43 KB

PS: Ti ricordo che esiste anche la possibilità di inserire un calendario XLS collegato ai text box.
Last Edit: 6 years 3 months ago by lorenzo1957. Reason: added a post scriptum
The administrator has disabled public write access.

RICERCA INTERVALLO DATE 6 years 3 months ago #8962

  • lorenzo1957
  • lorenzo1957's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 849
  • Thank you received: 59
  • Karma: 51
Ciao Rugantino,
ecco un demo di utilizzo del calendario (sempre in un userform però)

File Attachment:

File Name: ES_uso_calendario.xls
File Size: 31 KB

l'OCX è uno vecchio del 2003; dovrebbe funzionare anche da te.
Altri OCX vanno acquistati.
ciao, Lo
Last Edit: 6 years 3 months ago by lorenzo1957.
The administrator has disabled public write access.

RICERCA INTERVALLO DATE 6 years 3 months ago #8963

  • rugantino
  • rugantino's Avatar
  • OFFLINE
  • Gold Boarder
  • Posts: 221
  • Thank you received: 4
  • Karma: 5
Ciao Lorenzo
grazie per le tre soluzioni (che conserverò nella mia raccolta).
Delle tre, penso di adottare la “Soluzionesemplice” perche, per le mie esigenze, è quella più sbrigativa.
Però ho dovuto aggiungere un pezzo di codice in quanto mi dava solo il primo giorno del mese (es.:01/08/2014) e non anche l’ultimo (es.:31/08/2014) utile per il range di ricerca che mi occorre.
Il codice è un pò lungo in quanto le cose semplici non mi riescono :angry:
Allego il file modificato per quanti avessero il mio stesso problema.

Grazie ancora Lo
Rugantino


File Attachment:

File Name: Soluzionesemplice_bis.xls
File Size: 34 KB
The administrator has disabled public write access.
  • Page:
  • 1
Time to create page: 0.454 seconds