ultima cella pari con dati



  • ultima cella pari con dati
    di Gerry (utente non iscritto) data: 04/11/2015 23:45:49

    salve dovrei risolvere un problema con excel, nel foglio 1 nella colonna c8 in giu sono inseriti sei numeri quello che dovrei fare tramite un pulsante copiare l'utima cella pari, con un valore copiarlo e incollarlo nel foglio 2 nela cella d8, sempre nel foglio 1 nella colonna c8 in giu, ultima cella dispari contenete un valore, copiarlo ed incollarlo nel foglio 2, nella cella e9.



  • di cromagno data: 05/11/2015 02:41:13

    Ciao Gerry,
    non son sicuro di aver capito bene quello che vuoi fare (per questo un file di esempio è sempre ben accetto)...
    ma non vedo la necessità di ricorrere al VBA per una cosa del genere.

    Comunque, stando a quello che ho capito, nel file che allego al "Foglio3" ci sono 2 delle varie formule che potresti usare senza scomodare il VBA:

    cella "D8" (formula matriciale):
    =INDICE(Foglio1!$C$8:$C$13;MAX(--(RESTO(Foglio1!$C$8:$C$13;2)=0)*RIF.RIGA(Foglio1!$C$8:$C$13))-7)

    cella "E9" (formula matriciale):
    =SE.ERRORE(INDICE(Foglio1!$C$8:$C$13;MAX(--(RESTO(Foglio1!$C$8:$C$13;2)=1)*RIF.RIGA(Foglio1!$C$8:$C$13))-7);0)

    Nel "Foglio2" c'è il pulsante con il seguente codice:
     
    Option Explicit
    
    Sub importa()
    Dim dati As Range, pari As Integer, dispari As Integer, cella As Range
    
    Set dati = Worksheets("Foglio1").Range("C8:C13")
    For Each cella In dati
        If cella.Value Mod 2 = 0 Then
            pari = cella.Value
        Else
            dispari = cella.Value
        End If
    Next
    Worksheets("Foglio2").Range("D8").Value = pari
    Worksheets("Foglio2").Range("E9").Value = dispari
    Set dati = Nothing
    End Sub
    



  • di ninai data: 05/11/2015 08:15:54

    ciao
    alternative alle formule di cromagno:
    =CERCA(2;1/(RESTO(Foglio1!$C$8:$C$13;2)=0);Foglio1!$C$8:$C$13)
    e

    =CERCA(2;1/RESTO(Foglio1!$C$8:$C$13;2);Foglio1!$C$8:$C$13)



  • di Gerry (utente non iscritto) data: 05/11/2015 13:16:27

    grazie per aver risposto alla mia richiesta di aiuto, provo a spegare meglio quello che dovrei fare ed allego un file di esempio.
    La prima cosa da chiarire è che il valore dispari o pari non è il numero inserito nella cella ma la cella stessa. vedi foglio allegato il primo valore inserito si trova nella cella C10 perciò corrisponde a pari, cella C11 Dispari. Altra cosa le celle non sempre sono piene, una cella può essere anche vuota. Ora stabilita la cella se pari o dispari si potrebbe copiare il valore e incollarlo nel foglio due facendo doppio clik sulla cella. esempio:
    foglio 1 doppio clik sulla cella C15 copio e incollo il valore nel folio 2 cella E9.
    Foglio 1 doppio clik sulla cella C18 copio e incollo il valore nel foglio 2 cella D8.



  • di Cucù data: 05/11/2015 14:14:27

    Non credo di aver capito cmq prova il file allegato.
    Cucù



  • di cromagno data: 05/11/2015 14:51:44

    Scusa, ma adesso perchè stai parlando di doppio click???
    All'inizio non era un pulsante???



  • di Cucù data: 05/11/2015 14:59:38

    Infatti la mia proposta era come da prima richiesta e cioè "tramite un pulsante"
    Cucù



  • di Gerry (utente non iscritto) data: 05/11/2015 18:44:52

    e vero all'inizio ho parlato di pulsante, poi valutando il lavoro da fare mi sono accorto che con il pulsante non posso ottenere il lavoro da fare, mi spiego nel foglio 1 io inseriso dati continuamente ogni giorno, se volessi selezionare un valore retroattivo con il pulsante e la richiesta iniziale non posso perche mi seleziona sempre le ultime celle con dati mente io devo poter sezionare un valore qualsiasi e se ci faccio doppio clik sopra me lo deve posizionare nel foglio 2 se il valore nel foglio 1 è presente in una cella pari, sul foglio 2 verra posizionato nella cella pari altrimenti in quella dispara. In questo momento non posso provare i fili allegati perchè uso excel 2003 proverò ad aprirli su un pc con excel 2010, però non so se risolvono il problema.



  • di Cucù data: 05/11/2015 18:57:57

    Per quanto mi riguarda aspetto che tu possa provare il file prima di mettermi a lavoro anche perchè magari nel frattempo cambi nuovamente idea...
    Bye Cucù



  • di cromagno data: 05/11/2015 19:04:14

    Prova il file allegato (modalità di compatibilità per excel 2003).
    Il campo in cui funziona il codice è il range "C8:C100" del "Foglio1"

     
    Option Explicit
    
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim dati As Range
    
    Set dati = Worksheets("Foglio1").Range("C8:C100")
    If Not Intersect(Target, dati) Is Nothing And Target.Value <> "" Then
        If Target.Row Mod 2 = 0 Then
            Worksheets("Foglio2").Range("D8").Value = Target.Value
        Else
            Worksheets("Foglio2").Range("E9").Value = Target.Value
        End If
    End If
    Set dati = Nothing
    End Sub
    



  • di cromagno data: 05/11/2015 19:08:08

    Ciao Cucù,
    in effetti non hai tutti i torti



  • di Gerry (utente non iscritto) data: 05/11/2015 20:46:16

    Ciao, ho provato il file di Cucù e il problema e quando ci sono delle celle vuote. può andar bene anche il pulsante invece del doppio clik, l'iportante è che mi permetta di copiare le celle da me scelte tipo, cella o celle selezionate, e che faccia la distinzione fra celle pari e dispari. Grazie e scusate se ho cambiato idea, ma non avevo calcolato il problema delle celle vuote.



  • di Cucù data: 05/11/2015 21:02:52

    in che senso "ho provato il file di Cucù e il problema e quando ci sono delle celle vuote."???
    Se le celle sono vuote il codice le ignora fino a quando non trova la cella con un valore.
    cit"quello che dovrei fare tramite un pulsante copiare l'utima cella pari, con un valore copiarlo e incollarlo nel foglio 2"

    e quindi???
    Caro gerry schiarisciti bene le idee e poi cerca di formulare il tuo quesito che sia quanto più chiaro e coinciso possibile!
    Cucù



  • di cromagno data: 05/11/2015 21:08:54

    Gerry,

    ma l'ultimo file allegato lo hai provato?
    Si sta incasinando un pó troppo sta discussione



  • di Gerry (utente non iscritto) data: 05/11/2015 21:49:13

    scusate non avevo visto il codice allegato di cromagno, ho provato e funziona tutto a meraviglia grazie, e scusate ancora per la confusione.