select case su un range



  • select case su un range
    di rambo424 (utente non iscritto) data: 17/05/2013 15:53:40

    ciao ragazzi , vi chiedo una mano su un select case: ho bisogno di estendere un select case a range di valori.. vi butto giù codice che ho scritto, che è sicuramente più esplicativo (ovviamente non funge...)

    aspetto un vostro aiuto !

     
    'versione UNO
    Dim rangeSC As range
    Set rangeSC = Worksheets("Sheet3").range("M:M")
    
    For u = 0 To r - 1 
         one = Worksheets("Sheet1").Cells(1 + u, 13)  
                 Select Case one
                          Case Is <> rangeSC
                 end selected
    next u
    
    
    
    'Versione due
    For u = 0 To r - 1 
         one = Worksheets("Sheet1").Cells(1 + u, 13)  
                 Select Case one
                          Case Is <> Worksheets("Sheet3").range("M:M")
                 end selected
    next u
    
    



  • di Vecchio Frac data: 17/05/2013 16:01:47

    1) L'istruzione di chiusura di Select Case è "End Select", non "End Selected"

    2) Non puoi confrontare un valore con un range.
    Probabilmente ottieni un errore 13, di "tipo non corrispondente" (perchè non dite mai i valori di errore che ricevete? ^_^).
    Cos'è che vuoi fare? verificare che il valore espresso da "one" sia o no nel range specificato? in tal caso ti basta un uso accorto di Find, ma puoi cavartela anche con CountIf.







  • di rambo424 data: 17/05/2013 16:05:59

    Ciao vecchiofrac, sì scusa per l'End Select.. errata corrige..

    L 'end select mi serve per andare avanti solo se il valore puntato nello sheet1 non è compreso nel range di celle M:M dello sheet3

    il tipo di errore che ho è esattamente quello di cui tu parli, ovvere di type mismatching (dovuto al fatto che confronto un valore puntuale con un range di valorei...)

    Idee su come posso andare avanti?




  • di Vecchio Frac data: 17/05/2013 16:12:28

    Le idee te le ho già date ^_^
    a) .Find
    b) Worksheetfunction.CountIf