Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

cerca date e nei fogli 2 -3 -4 -5 -6 e inserisci in tabella nel foglio 1

Ultimo Aggiornamento: 11/05/2020 11:04
Post: 141
Registrato il: 06/07/2016
Città: BOLZANO
Età: 31
Utente Junior
2010
OFFLINE
03/05/2020 11:46



Ciao a tutti :-)

Non saprei se si può risolvere con delle formule o se preferibile in vba ,

nei fogli 2 -3 -4 -5 -6 nel range di colonne ( E:I ) (saranno presenti delle date e rispettive informazioni in ordine sparso a partire dalla riga 10 alla riga 1000 e avrei la necessità che queste date vengano confrontate con la data presente nella cella A1 del foglio 1 e posizionate a lato delle colonne D-J-P nei rispettivi orari riportando anche i valori presenti nelle colonne a lato

allego il file di esempio

colgo l’occasione per augurare a tutti una splendida Domenica

GRAZIE GRAZIE
saluti

Marilena
[Modificato da Mary-92 03/05/2020 11:50]
Post: 2.764
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
03/05/2020 16:08

ciao
quindi non è possibile che nei fogli da 2 a 6 ci sia la stessa data/A (5 date uguali/A) stesso orario OPPURE più Volte A 8:00?

Cioè, considerando che nel foglio1 sono previste solo 3 possibilità....

E' così ??

saluti

Edit: mi spiego meglio, per esempio: non è possibile che 5/5/2020 si trovi su tutti e 5 i fogli alla stesso ora?

[Modificato da dodo47 03/05/2020 16:32]
Domenico
Win 10 - Excel 2016
Post: 141
Registrato il: 06/07/2016
Città: BOLZANO
Età: 31
Utente Junior
2010
OFFLINE
03/05/2020 16:45

Ciao Dodo
grazie per la domanda
Le tre differenti colonne presenti nel foglio1 sono dovute perchè le lettere trovate nelle colonne “E” dei fogli 2-3-4-5-6 vengano ordinate separatamente nel foglio1 nelle colonne “C” , “I” e “O”
Come da esempio nel foglio1
Le date uguali saranno più di tre solo che comunque non verranno inseriti doppioni che hanno la stessa data ,lettera e ora perchè non sarebbe possibile posizionarli nel Foglio1
Esempio: Una situazione come da immagine allegata ( in rosso ) non verrà inserita nei
Fogli 2-3-4-5-6

Se non dovesse essere chiaro resto volentieri a disposizione per ulteriori chiarimenti

Grazie
Marilena
Post: 2.765
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
03/05/2020 16:53

ok, se dici che non ci sono ripetizioni vedo cosa posso fare

saluti



Domenico
Win 10 - Excel 2016
Post: 2.766
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
03/05/2020 17:07

ma C I O del foglio1 sono dedicate rispettivamente ad A,B e C ??

Cioè il foglio1 a parte la data ha solo D I P con le ore??

[Modificato da dodo47 03/05/2020 17:08]
Domenico
Win 10 - Excel 2016
Post: 142
Registrato il: 06/07/2016
Città: BOLZANO
Età: 31
Utente Junior
2010
OFFLINE
03/05/2020 17:19

Nel foglio1 di fisso ci sono solo le ore nelle colonne D , J, P
tutto il resto dovrebbe essere estrapolato dai fogli 2-3-4-5-6
a secondo della data che verrà inserita volta in volta in cella A1 del Foglio1

Grazie
Marilena
Post: 2.767
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
03/05/2020 17:52

Ciao
fai bene i test

saluti

Sub CercaData()
Dim mData As Date, mOra As Date, ur As Long, j As Integer, r As Long
Dim lettera As String, mPerc As Double, foglio As String, col As Integer
Dim rI As Integer, rF As Integer, i As Integer
Worksheets("Foglio1").Select
Range("C:C,E:G,I:I,K:M,O:O,Q:S").ClearContents
Range("C:C,E:G,I:I,K:M,O:O,Q:S").Interior.Color = xlNone
mData = Range("A1")
rI = 6
rF = 24
For j = 1 To Sheets.Count
    If Sheets(j).Name <> "Foglio1" Then
        With Worksheets(j)
            ur = .Range("E" & Rows.Count).End(xlUp).Row
            For r = 10 To ur
                If .Cells(r, 7) = mData Then
                    lettera = .Cells(r, 5)
                    mOra = .Cells(r, 6)
                    mPerc = .Cells(r, 8)
                    foglio = .Name
                    If lettera = "A" Then
                        mcol = 4
                    ElseIf lettera = "B" Then
                        mcol = 10
                    Else: mcol = 16
                    End If
                    For i = rI To rF
                        If Format(Cells(i, mcol), "hh:mm:ss") = mOra Then
                            Cells(i, mcol - 1) = lettera
                            Cells(i, mcol + 1) = mData
                            Cells(i, mcol + 2) = mPerc
                            Cells(i, mcol + 3) = foglio
                            Exit For
                        End If
                    Next i
                End If
            Next
        End With
    End If
Next j
                
End Sub



Domenico
Win 10 - Excel 2016
Post: 143
Registrato il: 06/07/2016
Città: BOLZANO
Età: 31
Utente Junior
2010
OFFLINE
03/05/2020 18:17

incredibile Dodo, Grazieee
sembra funzionare propio come desiderato
ora creo il file

ancora Grazie

Marilena

[SM=x423063]
Post: 2.768
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
03/05/2020 18:19

Re:
Mary-92, 03/05/2020 18:17:

incredibile Dodo, ....




Vuoi dire che ci ho indovinato??😄😉😄

saluti



Domenico
Win 10 - Excel 2016
Post: 144
Registrato il: 06/07/2016
Città: BOLZANO
Età: 31
Utente Junior
2010
OFFLINE
03/05/2020 18:29

Per me é abilità non fortuna 😊😊
Post: 145
Registrato il: 06/07/2016
Città: BOLZANO
Età: 31
Utente Junior
2010
OFFLINE
06/05/2020 13:04

Ciao Dodo

ancora Grazie !!Ho inserito la macro nel file che ho creato e funziona alla grande :-)))

volevo chiederti solo un’ ultima “chicca” : sarebbe possibile riportare nella colonna a destra da dove riporta il nome del foglio , riportare anche il numero di riga sulla quale sono stati trovati i valori nei rispettivi fogli ?


Grazie
Saluti
Marilena
Post: 146
Registrato il: 06/07/2016
Città: BOLZANO
Età: 31
Utente Junior
2010
OFFLINE
10/05/2020 09:55

Ciao a tutti



""volevo chiedervi solo un’ ultima “chicca” : sarebbe possibile riportare nella colonna a destra da dove riporta il nome del foglio , riportare anche il numero di riga sulla quale sono stati trovati i valori nei rispettivi fogli ? ""


pensate che si possa fare ?


Colgo l’occasione per augurare a tutti una splendida Domenica

Grazie
Saluti
Marilena
Post: 2.801
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
10/05/2020 10:31

Ciao
non avevo letto....

Comunque "tiratina d'orecchie!!!"

alll'inizio implementa le colonne da cancellare:

Range("C:C,E:H,I:I,K:N,O:O,Q:T").ClearContents

poi:
se vuoi lasciare le colonne grigie dove andranno a finire i numeri riga, lascia l'istruzione successiva così com'è.

Se invece vuoi eliminare il colore anche dalle colonne grigie:
Range("C:C,E:H,I:I,K:N,O:O,Q:T").Interior.Color = xlNone

poi
.......
Cells(i, mcol - 1) = lettera
Cells(i, mcol + 1) = mData
Cells(i, mcol + 2) = mPerc
Cells(i, mcol + 3) = foglio
Cells(i, mcol + 4) = r '<<<<<<<< ci saresti dovuta arrivare da sola!!!😉

cari saluti




[Modificato da dodo47 10/05/2020 11:06]
Domenico
Win 10 - Excel 2016
Post: 147
Registrato il: 06/07/2016
Città: BOLZANO
Età: 31
Utente Junior
2010
OFFLINE
10/05/2020 20:43

Giuro dodo di averci provato e riprovato ma sempre con = riga = rig

ma mai con =r

scusaaaaaa [SM=x423047] [SM=x423047]
Post: 2.804
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
11/05/2020 11:04

Mary
ma rig e riga dove li vedi nel codice ??

La prox volta metterò dei commenti su quello che fa il codice.

Una curiosità: utilizzi il debug, la finestra immediata e la finestra delle variabili locali nel vbe ?

saluti




[Modificato da dodo47 11/05/2020 11:05]
Domenico
Win 10 - Excel 2016
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 15:20. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com