selezione con condizione



  • selezione con condizione
    di marcobaldo (utente non iscritto) data: 27/03/2014 12:19:06

    salve, avrei una questione, per me abbastanza spinosa.

    ho due colonne nelle quali, nella prima ci sono le date mentre nella seconda ci sono le ore.
    vorrei selezionare solo le due celle per ogni riga in cui ci sono le ore, ovvero tralasciare quelle in cui ore= 0

    es..

    2010-01 18
    2010-01 0
    2010-01 14

    vorrei che mi selezionasse solo A1B1 E A3C3

    GRAZIE!



  • di Lucas87 data: 27/03/2014 12:34:59

    Vuoi selezionarle, vuoi colorare le celle per evidenziarle o devi farci qualcos'altro?



  • di lepat (utente non iscritto) data: 27/03/2014 12:36:37

    per tutte le righe ? e poi che fai ? allega un file di esempio.



  • di marcobaldo (utente non iscritto) data: 27/03/2014 12:36:50

    solo selezionarle



  • di marcobaldo (utente non iscritto) data: 27/03/2014 15:03:45

    dovrei solo selezionarle perche poi mi serve usare la selezione per fare un grafico ad esempio



  • di marcobaldo (utente non iscritto) data: 27/03/2014 17:06:09

    nulla, sto provando tanti metodi ma sono riuscito solo a selezionare le righe con valori diversi da 0 per ora



  • di marcobaldo (utente non iscritto) data: 27/03/2014 19:57:39

    lo scopo e' lanciare una macro che date due colonne A e B (già pronte), mi selezioni solo le celle B in cui il valore della cella è diverso da 0 e anche la cella a sinistra di quella cella (che rappresenta la data in cui il valore non e' zero)



  • di lepat (utente non iscritto) data: 27/03/2014 21:15:38

    non vedo ancora il file allegato come richiesto



  • di Lucas87 data: 28/03/2014 09:32:05

    Dovrebbe andare
     
    Sub seleziona()
    Dim sel As Range
    Dim i As Long
    For i = 1 To Range("a" & Rows.Count).End(xlUp).Row
        If Cells(i, 2) <> 0 Then
            If sel Is Nothing Then
                Set sel = Union(Cells(i, 1), Cells(i, 2))
            Else
                Set sel = Union(sel, Cells(i, 1), Cells(i, 2))
            End If
        End If
    Next
    sel.Select
    Set sel = Nothing
    End Sub



  • di Vecchio Frac data: 28/03/2014 10:30:36

    Il mio contributo, che sfrutta un'idea alternativa.
    In pratica riordina la tabella dei valori, recupera il primo valore diverso da zero, seleziona quindi la tabella da tale valore in giù, compresa la colonna delle date.
    Codice commentato.
    Per quanto possa interessare :)
     
    Option Explicit
    
    Sub seleziona_2()
    Dim i As Integer, r As Range, c As Range, nr As Long
    
        'l'elenco valori comincia da A1
        'in colonna A le date, i colonna B i valori numerici
        
        'effettua il sort della tabella
        Range("A1").Sort key1:=Columns(2)
        
        'calcola il numero di righe della tabella
        nr = Range("A1").CurrentRegion.Rows.Count
        
        'imposta un riferimento alla colonna della tabella che contiene i numeri
        Set r = Range("B1:B" & nr)
        
        'recupera il primo numero diverso da 0 nella colonna dei numeri
        i = Application.Small(r, 2)
        
        'cerca la posizione di questo numero nella colonna dei nnumeri
        Set c = r.Find(i)
        
        'quindi seleziona l'intero range dei valori compresa la colonna A
        Range(Cells(c.Row, c.Offset(, -1).Column), Cells(nr, c.Column)).Select
        
    End Sub