Stellar Blade Un'esclusiva PS5 che sta facendo discutere per l'eccessiva bellezza della protagonista. Vieni a parlarne su Award & Oscar!

Excel Forum Per condividere esperienze su Microsoft Excel

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

  • Messaggi
  • OFFLINE
    Mary-92
    Post: 141
    Registrato il: 06/07/2016
    Città: BOLZANO
    Età: 31
    Utente Junior
    2010
    00 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]
  • OFFLINE
    dodo47
    Post: 2.764
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 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
  • OFFLINE
    Mary-92
    Post: 141
    Registrato il: 06/07/2016
    Città: BOLZANO
    Età: 31
    Utente Junior
    2010
    00 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
  • OFFLINE
    dodo47
    Post: 2.765
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 03/05/2020 16:53
    ok, se dici che non ci sono ripetizioni vedo cosa posso fare

    saluti



    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    dodo47
    Post: 2.766
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 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
  • OFFLINE
    Mary-92
    Post: 142
    Registrato il: 06/07/2016
    Città: BOLZANO
    Età: 31
    Utente Junior
    2010
    00 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
  • OFFLINE
    dodo47
    Post: 2.767
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 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
  • OFFLINE
    Mary-92
    Post: 143
    Registrato il: 06/07/2016
    Città: BOLZANO
    Età: 31
    Utente Junior
    2010
    00 03/05/2020 18:17
    incredibile Dodo, Grazieee
    sembra funzionare propio come desiderato
    ora creo il file

    ancora Grazie

    Marilena

    [SM=x423063]
  • OFFLINE
    dodo47
    Post: 2.768
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 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
  • OFFLINE
    Mary-92
    Post: 144
    Registrato il: 06/07/2016
    Città: BOLZANO
    Età: 31
    Utente Junior
    2010
    00 03/05/2020 18:29
    Per me é abilità non fortuna 😊😊
  • OFFLINE
    Mary-92
    Post: 145
    Registrato il: 06/07/2016
    Città: BOLZANO
    Età: 31
    Utente Junior
    2010
    00 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
  • OFFLINE
    Mary-92
    Post: 146
    Registrato il: 06/07/2016
    Città: BOLZANO
    Età: 31
    Utente Junior
    2010
    00 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
  • OFFLINE
    dodo47
    Post: 2.801
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 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
  • OFFLINE
    Mary-92
    Post: 147
    Registrato il: 06/07/2016
    Città: BOLZANO
    Età: 31
    Utente Junior
    2010
    00 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]
  • OFFLINE
    dodo47
    Post: 2.804
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 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