Risultati da 1 a 13 di 13

Discussione: Riportare valore con 2 condizioni e 1 combobox



  1. #1
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Riportare valore con 2 condizioni e 1 combobox

    Ciao a tutti,
    dopo ferie, sostituzioni e piccolo intervento chirurgico sono ritornato in sella (..spero!!).

    Vorrei riportare i valori in E7 - G7 - I7 tenendo conto di:
    1) data riportata nella combobox ( tenendo altresi presente che la ricerca deve essere fatta nel corretto foglio di lavoro -> ossia i valori del giorno 01/07/2016 deve andarli a cercare nel foglio "2° semestre")
    2) l'impianto
    3) il turno di lavoro

    https://www.dropbox.com/s/cncl21rob3...iera.xlsm?dl=0

    L'unico valore presente nel foglio di lavoro "2° semestre" è quello atteso nel foglio KPI.

    PS:per evitare che la combo mi facesse scegliere una data proponendomi l'intero anno ho creato un riferimento in B3 per ridurre la scelta ad un mese specifico ma oggettivamente l'escamotage è grossolano.--> gradita soluzione più stilosa. Ho provato a creare una seconda combo con la scelta del mese in chiaro ma non sono riuscito a concatenarle tra di loro.

    Grazie
    Gene

  2. #2
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3222
    Versione Office
    Excel2010
    Likes ricevuti
    627
    Likes dati
    155

    Re: Riportare valore con 2 condizioni e 1 combobox

    Ciao Gene
    come va la convalescenza? Spero tutto proceda per il meglio.

    In merito al tuo quesito, metti questa formula in D7 e tira giù
    Codice: 
    =SE.ERRORE(SE($B$3<=6;SCARTO('1°semestre'!$A$1;;CONFRONTA($D7;'1°semestre'!$A$2:$W$2;0)-1);SCARTO('2°semestre'!$A$1;;CONFRONTA($D7;'2°semestre'!$A$2:$W$2;0)-1));"")
    Questo è il primo passo per automatizzare il budget (nel caso fosse diverso).
    Poi vorrei sapere i valori che hai scritto nelle righe 7 e 8 colonne E, G ed I da dove li hai presi visto che quelli nei due semestri sono diversi.

    Credo (ma sicuramente qualche "mago delle formule" mi smentirà) che il seguito possa essere fatto con VBA.

    Ciao e auguri,
    Mario

  3. #3

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7160
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1301

    Re: Riportare valore con 2 condizioni e 1 combobox

    Ciao Gene,
    in alternativa alla formula di Marius, che saluto, ti propongo una soluzione col vba:

    Codice: 
    Sub turni()
    Dim y As Integer
        Application.ScreenUpdating = False
                For y = 3 To 548
                    If Sheets(2).Cells(y, 1) = Sheets(1).Cells(1, 13) Then ' If Sheets(2).Cells(y, 1) = ComboBox2.Value Then 
                        Sheets(2).Range("C" & y & ":" & "W" & y).Copy
                        Sheets(1).Cells(7, 5).PasteSpecial Paste:=xlValues, Transpose:=True
                        Sheets(2).Range("C" & y + 1 & ":" & "W" & y + 1).Copy
                        Sheets(1).Cells(7, 7).PasteSpecial Paste:=xlValues, Transpose:=True
                        Sheets(2).Range("C" & y + 2 & ":" & "W" & y + 2).Copy
                        Sheets(1).Cells(7, 9).PasteSpecial Paste:=xlValues, Transpose:=True
                    ElseIf Sheets(3).Cells(y, 1) = Sheets(1).Cells(1, 13) Then ' ElseIf Sheets(3).Cells(y, 1) = ComboBox2.Value Then
                        Sheets(3).Range("C" & y & ":" & "W" & y).Copy
                        Sheets(1).Cells(7, 5).PasteSpecial Paste:=xlValues, Transpose:=True
                        Sheets(3).Range("C" & y + 1 & ":" & "W" & y + 1).Copy
                        Sheets(1).Cells(7, 7).PasteSpecial Paste:=xlValues, Transpose:=True
                        Sheets(3).Range("C" & y + 2 & ":" & "W" & y + 2).Copy
                        Sheets(1).Cells(7, 9).PasteSpecial Paste:=xlValues, Transpose:=True
                    End If
                Next
            Sheets(1).Cells(1, 13).Select
        Application.CutCopyMode = False
        Application.ScreenUpdating = True
    End Sub
    Come spazio per la data ho usato la cella M1 perchè c'è una combobox e gli Activex non mi funzionano sul Mac.
    Con la Combobox modifica il codice come indicato in verde.
    File Allegati File Allegati
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  4. #4
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3222
    Versione Office
    Excel2010
    Likes ricevuti
    627
    Likes dati
    155

    Re: Riportare valore con 2 condizioni e 1 combobox

    Ciao Ges
    mi sono fermato perchè, come sai, l'amico Gene ha voglia di imparare e quindi voleva essere uno stimolo.
    Ottima la tua soluzione che però eviterei di associare ad un pulsante ma piuttosto la inserirei nell'evento Change del Worksheet per evitare che, cambiando la data, rimangano dati non coerenti.

    Ecco il listato (è la tua macro ma inserita nell'evento)
    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim y As Integer
    If Not Intersect(Target, [M1]) Is Nothing Then
        Application.ScreenUpdating = False
            For y = 3 To 548
                If Sheets(2).Cells(y, 1) = Sheets(1).Cells(1, 13) Then
                    Sheets(2).Range("C" & y & ":" & "W" & y).Copy
                    Sheets(1).Cells(7, 5).PasteSpecial Paste:=xlValues, Transpose:=True
                    Sheets(2).Range("C" & y + 1 & ":" & "W" & y + 1).Copy
                    Sheets(1).Cells(7, 7).PasteSpecial Paste:=xlValues, Transpose:=True
                    Sheets(2).Range("C" & y + 2 & ":" & "W" & y + 2).Copy
                    Sheets(1).Cells(7, 9).PasteSpecial Paste:=xlValues, Transpose:=True
                ElseIf Sheets(3).Cells(y, 1) = Sheets(1).Cells(1, 13) Then
                    Sheets(3).Range("C" & y & ":" & "W" & y).Copy
                    Sheets(1).Cells(7, 5).PasteSpecial Paste:=xlValues, Transpose:=True
                    Sheets(3).Range("C" & y + 1 & ":" & "W" & y + 1).Copy
                    Sheets(1).Cells(7, 7).PasteSpecial Paste:=xlValues, Transpose:=True
                    Sheets(3).Range("C" & y + 2 & ":" & "W" & y + 2).Copy
                    Sheets(1).Cells(7, 9).PasteSpecial Paste:=xlValues, Transpose:=True
                End If
            Next
            Sheets(1).Cells(1, 13).Select
        Application.CutCopyMode = False
        Application.ScreenUpdating = True
    End If
    End Sub
    Aspettiamo la risposta di Gene (dopo il cambio-bende )
    Ciao,
    Mario

  5. #5
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Riportare valore con 2 condizioni e 1 combobox

    Ciao,
    effettivamente sono alle prese con bende e antibiotici , sperando che tra qualche settimana scopra che l'orecchio è tornato agli antichi fasti... A tal proposito segnalo che negli smiles manca quello che fà un gesto scaramantico....

    @ Marius & Ges
    - La formula sia nel file del post #1 che nel nuovo dà avviso di riferimento circolare.
    - Ho riportato la macro nel nuovo file ma non lavora, anche modificando, spero, correttamente i riferimenti alla data che ora si trova in H3 avendo sostituito la combobox con un doppio menu a tendina.
    https://www.dropbox.com/s/x1eexd0khp...1%2B.xlsm?dl=0

    Attendo vs. illuminazione...non vi dico di battere un colpo....perchè al momento farei fatica a sentirlo!!!!

    Gene

  6. #6
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3222
    Versione Office
    Excel2010
    Likes ricevuti
    627
    Likes dati
    155

    Re: Riportare valore con 2 condizioni e 1 combobox

    Salve Gene
    occhio ai ... troppi antibiotici!
    Si tratta di riferimenti errati. Dunque in D4 (e da copiare in basso)
    Codice: 
    =SE.ERRORE(SE(MESE($H$3)<=6;SCARTO('1°semestre'!$A$1;;CONFRONTA($C7;'1°semestre'!$A$2:$W$2;0)-1);SCARTO('2°semestre'!$A$1;;CONFRONTA($C7;'2°semestre'!$A$2:$W$2;0)-1));"")
    La macro da mettere nel Modulo di Classe di Foglio4 (KPI) è
    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)Dim y As Integer
    If Not Intersect(Target, [H3]) Is Nothing Then
        Application.ScreenUpdating = False
            For y = 3 To 548
                If Sheets(2).Cells(y, 1) = Sheets(1).Cells(3, 8) Then
                    Sheets(2).Range("C" & y & ":" & "W" & y).Copy
                    Sheets(1).Cells(7, 5).PasteSpecial Paste:=xlValues, Transpose:=True
                    Sheets(2).Range("C" & y + 1 & ":" & "W" & y + 1).Copy
                    Sheets(1).Cells(7, 7).PasteSpecial Paste:=xlValues, Transpose:=True
                    Sheets(2).Range("C" & y + 2 & ":" & "W" & y + 2).Copy
                    Sheets(1).Cells(7, 9).PasteSpecial Paste:=xlValues, Transpose:=True
                ElseIf Sheets(3).Cells(y, 1) = Sheets(1).Cells(3, 8) Then
                    Sheets(3).Range("C" & y & ":" & "W" & y).Copy
                    Sheets(1).Cells(7, 5).PasteSpecial Paste:=xlValues, Transpose:=True
                    Sheets(3).Range("C" & y + 1 & ":" & "W" & y + 1).Copy
                    Sheets(1).Cells(7, 7).PasteSpecial Paste:=xlValues, Transpose:=True
                    Sheets(3).Range("C" & y + 2 & ":" & "W" & y + 2).Copy
                    Sheets(1).Cells(7, 9).PasteSpecial Paste:=xlValues, Transpose:=True
                End If
            Next
            Sheets(1).Cells(1, 13).Select
        Application.CutCopyMode = False
        Application.ScreenUpdating = True
    End If
    End Sub
    Prova e fai sapere. Ciao,
    Mario

  7. #7

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7160
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1301

    Re: Riportare valore con 2 condizioni e 1 combobox

    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    Ciao Ges
    mi sono fermato perchè, come sai, l'amico Gene ha voglia di imparare e quindi voleva essere uno stimolo.
    ...
    Ciao Mario,
    hai ragione non mi sono ricordato ... la prossima volta gliela faremo sudare!!!

    ----------Post unito in automatico----------

    Citazione Originariamente Scritto da G.Bove Visualizza Messaggio
    Ciao,
    effettivamente sono alle prese con bende e antibiotici , sperando che tra qualche settimana scopra che l'orecchio è tornato agli antichi fasti... ..
    Ciao Gene,
    ma stai male veramente ... allora in bocca al lupo e buona pronta guarigione!

    ----------Post unito in automatico----------

    Per la formula e la macro ci ha pensato Mario alle indicazioni.
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  8. #8
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Riportare valore con 2 condizioni e 1 combobox

    La formula è ok ma la macro non riesco proprio a farla girare......a questo punto devo sperare che siano davvero gli antibiotici!!

    https://www.dropbox.com/s/mhotpgp0pg...1%2B.xlsm?dl=0

    Grazie ad entrambi per gli auguri.

    Gene

  9. #9

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7160
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1301

    Re: Riportare valore con 2 condizioni e 1 combobox

    Citazione Originariamente Scritto da G.Bove Visualizza Messaggio
    La formula è ok ma la macro non riesco proprio a farla girare......a questo punto devo sperare che siano davvero gli antibiotici!!
    ...
    Ciao Gene,
    avevi creato un nuovo modulo di classe ... dovevi invece copiare la macro nel modulo di classe esistente del primo foglio.

    Allego il file corretto: FILE DA SCARICARE
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  10. #10
    L'avatar di D@nilo
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Roma
    Età
    45
    Messaggi
    1170
    Versione Office
    Excel 2010
    Likes ricevuti
    509
    Likes dati
    572

    Re: Riportare valore con 2 condizioni e 1 combobox

    ciao Ges... guardavo la routine proposta....me lo spieghi questo passaggio?
    Codice: 
     Sheets(2).Range("C" & y & ":" & "W" & y).Copy
                    Sheets(1).Cells(7, 5).PasteSpecial Paste:=xlValues, Transpose:=True
    ....Danilo

  11. #11

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7160
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2065
    Likes dati
    1301

    Re: Riportare valore con 2 condizioni e 1 combobox

    Citazione Originariamente Scritto da Danilo Fiorini Visualizza Messaggio
    ciao Ges... guardavo la routine proposta....me lo spieghi questo passaggio?
    Codice: 
     Sheets(2).Range("C" & y & ":" & "W" & y).Copy
                    Sheets(1).Cells(7, 5).PasteSpecial Paste:=xlValues, Transpose:=True
    ....Danilo
    Ciao Danilo, te lo spiego subito.

    1) L'anteposizione Sheets(2) vuol dire che sto agendo sul Foglio 2

    2) Se si verifica la condizione di cui nella routine riportata sopra e cioè che che la data nella cells(y,1) ( y legge tutta la colonna da 3 a 548) è uguale a quella della cella nel primo foglio, allora
    Range("C" & y & ":" & "W" & y).Copy copia la riga interessata (C. : W.) la y individuando la stessa data trova il numero di riga (esempio se la data del primo foglio è uguale a quella della riga 3 allora copierà il range C3:W3

    3) Copiata la riga interessata del secondo foglio la incollo con "incolla speciale"
    nel primo foglio
    Sheets(1)
    nella colonna interessata Cells(7, 5).PasteSpecial
    e aggiungo come condizione
    "valori"
    Paste:=xlValues
    e traspongo la rica copiata da orizzontale a verticale Transpose:=True

    Spero sia chiaro.
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  12. I seguenti utenti hanno dato un "Like"


  13. #12
    L'avatar di D@nilo
    Clicca e Apri
    Data Registrazione
    Jan 2016
    Località
    Roma
    Età
    45
    Messaggi
    1170
    Versione Office
    Excel 2010
    Likes ricevuti
    509
    Likes dati
    572

    Re: Riportare valore con 2 condizioni e 1 combobox

    si come sempre.....grazie

  14. #13
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Riportare valore con 2 condizioni e 1 combobox

    Ciao.
    [RISOLTO]

    Grazie.
    ...la prossima settimana sono a riposo forzato.. quindi.....


    Gene

Discussioni Simili

  1. Risposte: 6
    Ultimo Messaggio: 29/09/16, 23:54
  2. Riportare dati se inferiori a valore prefissato
    Di G.Bove nel forum Domande su Excel in generale
    Risposte: 23
    Ultimo Messaggio: 29/07/16, 18:11
  3. Riportare dati con condizioni multiple
    Di G.Bove nel forum Domande su Excel in generale
    Risposte: 11
    Ultimo Messaggio: 19/07/16, 16:25
  4. Trovare celle non vuote e riportare valore
    Di lala10 nel forum Domande su Excel in generale
    Risposte: 9
    Ultimo Messaggio: 07/05/16, 00:32
  5. Valore Combobox uguale all'item selezionato
    Di cromagno nel forum Domande su Excel VBA e MACRO
    Risposte: 24
    Ultimo Messaggio: 19/12/15, 11:40

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •