Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VBA: Trovare o filtrare Data corrente in range celle

452 views
Skip to first unread message

Bruno.62

unread,
Oct 2, 2015, 10:42:49 AM10/2/15
to
Excel 2010

Ciao, associando il codice ad un pulsante, come posso selezionare la
cella contenente la data corrente (data sistema) in un Range(G16:G381),
Magari evidenziando la riga o posizionandosi nella cella a fianco per
l'inserimento dati Ho provato a manipolare del codice trovato in rete,
ma non sono riuscito.
Grazie, Bruno

---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus

Nando

unread,
Oct 2, 2015, 11:43:23 AM10/2/15
to


"Bruno.62" ha scritto nel messaggio news:mum555$lhs$1...@speranza.aioe.org...

Excel 2010

<Ciao, associando il codice ad un pulsante, come posso selezionare la
<cella contenente la data corrente (data sistema) in un Range(G16:G381),



Sub trovaDataOdierna()

With Foglio9.Range("G16:G381")


Dim Rng As Range


Set Rng = .Find(What:=Date, LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)

If Not Rng Is Nothing Then

firstAddress = Rng.Address

'colora di blu la riga\righe con la data odierna
Rng.Interior.ColorIndex = 5

Do

Set Rng = .FindNext(Rng)
Rng.Interior.ColorIndex = 5
Loop While Not Rng Is Nothing And Rng.Address <> firstAddress
End If
End With
End Sub

Bruno.62

unread,
Oct 2, 2015, 2:09:18 PM10/2/15
to
Il 02/10/2015 17:43, Nando ha scritto:
>
>
> "Bruno.62" ha scritto nel messaggio news:mum555$lhs$1...@speranza.aioe.org...
>
> Excel 2010
>
> <Ciao, associando il codice ad un pulsante, come posso selezionare la
> <cella contenente la data corrente (data sistema) in un Range(G16:G381),
>
>
[CUT]

Ciao Nando, ancora di supporto all'inesperto! Mille grazie.

La routine dava errore per la variabile non definita;ho provveduto, ma
su clic non trova la data. Non vorrei che fosse per il formato della
data che è "ggg gg mmm".

>> Dim firstAddress As Range



Private Sub TrovaData_Odierna_Click()

With Foglio4.Range("G16:G381")


Dim Rng As Range

Dim firstAddress As Range


Set Rng = .Find(What:=Date, LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
If Not Rng Is Nothing Then

firstAddress = Rng.Address

'colora di blu la riga\righe con la data odierna
Rng.Interior.ColorIndex = 5

Do

Set Rng = .FindNext(Rng)
Rng.Interior.ColorIndex = 5
Loop While Not Rng Is Nothing And Rng.Address <> firstAddress
End If
End With

End Sub




Nando

unread,
Oct 2, 2015, 2:52:51 PM10/2/15
to


"Bruno.62" ha scritto nel messaggio news:mumh89$jcu$1...@speranza.aioe.org...

< Non vorrei che fosse per il formato della
<data che è "ggg gg mmm".



la funzione Date restituisce la data nel formato 02/10/2015

Come le hai inserite le date?

Bruno.62

unread,
Oct 2, 2015, 3:42:12 PM10/2/15
to
^^^^^^^^^

Le date sono inserite correttamente, tipo 01/01/2015, poi formattate
come idicato su. Ho cambiato il formato data ed ora vengono visualizzate
nel formato gg/mm/aaaa.
Non hovariato altro, ma ricevo l'errore Variabile oggetto o variabile
del blocco With non impostata (errore 91). ho difficoltà a capire cosa
può essere.

Nando

unread,
Oct 2, 2015, 4:23:13 PM10/2/15
to
< ho difficoltà a capire cosa
<può essere.


esegui un'istruzione alla volta e vedi in che riga ti da l'errore....


Bruno.62

unread,
Oct 2, 2015, 5:04:26 PM10/2/15
to
^^^
Fatto!
firstAddress = Rng.Address 'mi dice firstAddress=rng =< variabile
oggetto o variabile del blocco with non impostata

errore di run time 91

Nando

unread,
Oct 2, 2015, 7:32:08 PM10/2/15
to


"Bruno.62" ha scritto nel messaggio news:mumrgk$bbt$1...@speranza.aioe.org...
<Fatto!
<firstAddress = Rng.Address 'mi dice firstAddress=rng =< variabile
<oggetto o variabile del blocco with non impostata



aggiungi l'istruzione
Dim firstAddress As String

dopo l'istruzione Dim Rng As Range


(l'Option Explicit che hai impostato richiede la dichiarazione di tutte le
variabili prima del loro utilizzo ! )

Bruno.62

unread,
Oct 3, 2015, 5:05:31 AM10/3/15
to
^^^^^^^^^^^^^^^^^^^^^

Buongiorno Nando, ho fatto quanto mi hai detto, ma la routine pur non
dando nessun errore non parte proprio; ho provato a chiamarla con il
pulsante e ad eseguirla dalla finestra del progetto. Esegue ma non
succede nulla. Ho anche provato a inserire la variabile DataSistema e
formattarla come è nella range di celle, sia Format(Date, "ddd dd mmm")
che Format(Date, "ggg gg mmm"), senza risultato. Una curiosità....
perchè Dim firstAddress As String e non come range visto che si parla di
indirizzo? andrò comunque a cercare in rete firstAddress per vedere che
fa. segue routine usata.


Private Sub TrovaData_Odierna_Click()

'Dim DataSistema As Date
'DataSistema = Format(Date, "ddd dd mmm")

'---------------
With Foglio4.Range("G16:G381")

Dim Rng As Range

Dim firstAddress As String


Set Rng = .Find(What:=Date, LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)

If Not Rng Is Nothing Then

firstAddress = Rng.Address

'colora di blu la riga\righe con la data odierna
Rng.Interior.ColorIndex = 5

Do

Set Rng = .FindNext(Rng)
Rng.Interior.ColorIndex = 5
Loop While Not Rng Is Nothing And Rng.Address <> firstAddress
End If
End With

End Sub
'---------------

Nando

unread,
Oct 3, 2015, 7:39:03 AM10/3/15
to


"Bruno.62" ha scritto nel messaggio news:muo5om$udl$1...@speranza.aioe.org...


<Buongiorno Nando, ho fatto quanto mi hai detto, ma la routine pur non
<dando nessun errore non parte proprio;

Se nelle celle usi il formato " sab 03 ott " , allora modifica così la
routine:

Aggiungi :

Dim DataSistema As String
DataSistema = Format(Date, "ddd dd mmm")

e modifica l'istruzione di ricerca così:

Set Rng = .Find(What:=DataSistema, LookIn:=xlValues,......etc..............

0 new messages