Abbinamento celle



  • Abbinamento celle
    di Luciano (utente non iscritto) data: 11/06/2010

    Salve a tutti. avrei questo problema.
    se nella colonna d del "foglio 1" scrivo il nome di un colore, desidero che nella cella posta nella stessa riga della colonna e, compaia il segno "+" (come previsto nel foglio2)
    se, invece, nella colonna d del foglio 1, scrivo il nome di un oggetto, desidero che nella cella posta nella stessa riga della colonna e, compaia il segno "-" (come previsto nel foglio2).
    posto un file di esempio, grazie a chiunque sappia darmi una dritta.




  • di Albatros54 (utente non iscritto) data: 11/06/2010

    Alt +f11 ,seleziona il foglio2 del file che hai allegato ed inserisci il codice che ti posto, dovrebbe andare al tuo caso.
    ciao
    albatros54
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Indirizzo
    If Target.Count > 1 Then Exit Sub
    Indirizzo = Target.Value
    Select Case Indirizzo
    Case "GIALLO", "VERDE", "ROSSO", "VIOLA", "ARANCIO", "BIANCO"
            ActiveCell.Offset(0, 1).Value = "+"
    Case Else
        
        ActiveCell.Offset(0, 1).Value = "-"
    End Select
    End Sub


  • Abbinamento celle
    di Luciano (utente non iscritto) data: 11/06/2010

    Intanto grazie per l'interesse albatros54 ma io sono un pò inesperto, per codice cosa intendi? e dove devo inserirlo?
    scusa l'insipienza
    ciao luciano



  • di Albatros54 (utente non iscritto) data: 11/06/2010

    Apri il file che hai postato.
    tasto alt della tastiera contemporaneamente al tasto f11.
    sei nell'editor di vba.
    in alto a sx vedi i nome dei fogli del tuo file, in questo caso foglio1 e foglio2.
    doppio click del mouse sul foglio2(in questo caso).
    copia ed incolla il codice che ti ho postato.
    prova a variare il valore di una cella del foglio2 e si scatenera l'evento che fara' eseguire il nostro codice.
    ciao
    albatros54



  • di Albatros54 (utente non iscritto) data: 11/06/2010

    Con il codice sotto , forse va meglio!!
    ciao
    albatros54
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range
    Set rng = Range("D:D")
    With Target
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(rng, .Cells) Is Nothing Then
    Select Case Target
    Case "GIALLO", "VERDE", "ROSSO", "VIOLA", "ARANCIO", "BIANCO"
            ActiveCell.Offset(-1, 1).Value = "+"
    Case Else
            ActiveCell.Offset(-1, 1).Value = "-"
       End Select
     End If
    
    End With
    End Sub


  • Abbinamento celle
    di Luciano (utente non iscritto) data: 12/06/2010

    Scusami tanto albatros 54 ma non cavo un ragno dal buco.
    ho copiato il codice nel worksheet del foglio2
    poi sono passato alla visuale excel con il tastino in alto a sin. ma non succede niente.
    se hai tempo delucidami ulteriomente
    ciao
    luciano



  • di Albatros54 (utente non iscritto) data: 12/06/2010

    Ti allego un filevideo zippato
    ciao
    albatros54


  • Abbinamento celle
    di Luciano (utente non iscritto) data: 14/06/2010

    Ciao albatros54
    sul video non c'è nulla solo qualche tichettio

    luciano



  • di Albatros54 (utente non iscritto) data: 14/06/2010

    Scusami tanto albatros 54 ma non cavo un ragno dal buco.

    >>vediamo di tirare il buco dal ragno

    ho copiato il codice nel worksheet del foglio2
    poi sono passato alla visuale excel con il tastino in alto a sin. ma non succede niente.

    >> forse non hai selezionato il foglio2 di excel con la relativa linguetta??

    se hai tempo delucidami ulteriomente
    ciao
    luciano

    >> ciao
    >>albatros54



  • di Santuberto (utente non iscritto) data: 15/06/2010

    Buongiorno a tutti. sarei anch’io interessato a trovare una soluzione al problema. ho visto cos’ha proposto albatros54, ma non ho capito proprio nulla. non è possibile applicare una formula tipo “cerca.vert” oppure “se”, oppure una combinazione delle tante formule esistenti in excel? grazie a chiunque mi potesse aiutare.



  • di Ricky53 (utente non iscritto) data: 15/06/2010

    Ciao ad entrambi,

    ho riletto quanto scritto da albatros (che ringrazio per la soluzione proposta):

    mi è sembrato chiaro quanto deve essere fatto per avere il risultato atteso.

    provate a rileggere con maggiore attenzione
    fate i passi che lui ha descritto e non avrete difficoltà

    per ogni problema siamo qui.
    dovete inviarci l'errore che ottenete ed i passi che avete fatto.
    la precisione è fondamentale.

    ciao da ricky53



  • di Santuberto (utente non iscritto) data: 23/06/2010

    Buongiorno a tutti. finalmente, dopo tanti tentativi (veramente tanti e tanta confusione), sono riuscito ad attivare la macro sul “microsoft visual basic” del foglio2. i risultati che ottengo sono i seguenti: quando, nel foglio2, nella colonna d, inserisco una qualunque cosa (numero, lettera, parola, simbolo…), nella colonna e, sulla stessa riga, compare il segno “-“. ora, purtroppo, quello che servirebbe a me, per risolvere il mio problema, è la seguente cosa: nel foglio1, nella colonna b, vorrei scrivere una parola sicuramente presente nel foglio2 (nella colonna b del foglio2, oppure nella colonna d del foglio2). ora: se la parola che scrivo nella colonna b del foglio1, si trova nella colonna b del foglio2, vorrei che nella colonna c del foglio1 (sulla stessa riga) comparisse il segno “-“; se, invece, la parola che scrivo nella colonna b del foglio1, si trova nella colonna d del foglio2, vorrei che nella colonna c del foglio1, comparisse il segno “+”. . sinceramente grazie per il tempo che avete dedicato. (p. s.: riconoscendo la mia ignoranza in materia di macro, vba ed altre cose del genere, non vorrei che le informazioni richieste in blocco errore, fossero assurde o inadatte al forum. se è così, me ne scuso)



  • di Albatros54 (utente non iscritto) data: 23/06/2010

    Copia ed incolla il codice nel foglio1 del file di excel.
    occhio, per excel pippo e diverso da pippo o pippo sono delle variabili diverse l'uno dall'altro.i dati che tu devi inserire si riferiscono alla colonna a del foglio1, mentre la ricerca viene fatta nella colonna a del foglio2 e nella colonna c dello stesso foglio2.il segno piu omeno viene inserito nella colonna b del foglio1 .in allegato un file di prova.
    caio
    albatros54

     
    Private Sub Worksheet_Change(ByVal Target As Range)
              'dichiato le variabili
              Dim lng As Long
              Dim v As Variant
              Dim lUltRiga As Long
              Dim sh As Worksheet
              Dim sh2 As Worksheet
              Dim lCont As Long
              Dim sCella As String
              Dim rng As Range
    Set rng = Range("A:A")
    With Target
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(rng, .Cells) Is Nothing Then
        
              
    10        Set sh = ThisWorkbook.Worksheets("Foglio1")
    20        Set sh2 = ThisWorkbook.Worksheets("Foglio2")
    30        With sh
    40           v = Target
    50            If v = False Then Exit Sub
    60            End With
    70             With sh2
    80            lUltRiga = .Range("A" & .Rows.Count).End(xlUp).Row
    100           lCont = 1
    110           On Error Resume Next
    
    120           For lng = 1 To lUltRiga
    130               If .Cells(lng, 1).Value = v Then
    140                   sCella = .Cells(lng, 1).Text
    150                   Exit For
    170               End If
    180               lCont = lCont + 1
    190               Next
    290       End With
    300         sh.Select
    310       If sCella = "" Then
    320       ActiveCell.Offset(-1, 1).Value = "-"
    
    330       Else
            
    340       ActiveCell.Offset(-1, 1).Value = "+"
    
    350      End If
              
    360       Set sh = Nothing
    
          End If
          End With
    End Sub
    
    



  • di Santuberto (utente non iscritto) data: 23/06/2010

    Complimenti! e’ quasi perfetto! per me va benissimo anche in questo modo, ma desidero segnalare cosa ho scoperto. se nel foglio1, nella colonna a, inserisco una parola che non compare nel foglio2 ( e più precisamente nelle colonne a e c), nella colonna b del foglio1, compare comunque il segno “-“. confermo che per me è indifferente, quindi… nuovamente grazie e nuovamente complimenti. santuberto.



  • di Albatros54 (utente non iscritto) data: 23/06/2010

    Nel post precedente hai scritto <> .
    quindi tu non devi scrivere una parola diversa, comunque va bene lo stesso.
    ciao
    albatros54



  • di Santuberto (utente non iscritto) data: 24/06/2010

    Buongiorno. hai ragione albatros54: nella mia precedente, non avevo usato la precisione necessaria. ma spero che tu possa a capire che a volte, un po’ per la complessità dell’argomento, un po’ per l’inesperienza, un po’ … me ne scuso e rinnovo i ringraziamenti. santuberto.