Forum Excel VBA Forum Excel e gli applicativi Microsoft Office Confronto presenza valore in tabelle

Questo argomento contiene 13 risposte, ha 2 partecipanti, ed è stato aggiornato da Luca73 Luca73 1 settimana, 2 giorni fa.

Login Registrati
Stai vedendo 4 articoli - dal 11 a 14 (di 14 totali)
  • Autore
    Articoli
  • #5069 Risposta

    azalyn
    Partecipante

    <p><span style=”background-color: #f9f9f9;”>Ho provato a fare questa modifica per tentare di renderla automatica ma non funziona. Idee? Ps. nello stesso foglio macro c’é un’altra macro sempre worksheet_change che mi svolge un altra funzione<br /><span style=”color: #053782; font-family: Inconsolata, Consolas, Monaco, Lucida Console, monospace;”><span style=”font-size: 14px; white-space: pre-wrap;”>Private Sub Worksheet_Change(ByVal Target As Range) <span style=”background-color: #f9f9f9;”><span style=”color: #053782; font-family: Inconsolata, Consolas, Monaco, Lucida Console, monospace;”><br /><span style=”background-color: #f9f9f9;”><span style=”color: #053782; font-family: Inconsolata, Consolas, Monaco, Lucida Console, monospace;”><span style=”font-size: 14px; white-space: pre-wrap;”>Dim Indice As Integer Dim Indice01 As Integer Dim Indice02 As Integer Dim Vettore(1 To 10, 1 To 2) Dim Risultati(1 To 10, 1 To 2) Dim CellaW <span style=”background-color: #f9f9f9;”><span style=”color: #053782; font-family: Inconsolata, Consolas, Monaco, Lucida Console, monospace;”><span style=”font-size: 14px; white-space: pre-wrap;”>Dim myTab19 As String myTab19 = “L41:R<span style=”background-color: #f9f9f9;”><span style=”color: #053782; font-family: Inconsolata, Consolas, Monaco, Lucida Console, monospace;”><span style=”font-size: 14px; white-space: pre-wrap;”>69″<br /><span style=”font-size: 14px; white-space: pre-wrap;”>If Not Application.Intersect(Target, Range(myTab19)) Is Nothing And Sheets(“Barbaro”).Range(“b8”).Value <> 0 Then<span style=”background-color: #f9f9f9;”><span style=”color: #053782; font-family: Inconsolata, Consolas, Monaco, Lucida Console, monospace;”><span style=”font-size: 14px; white-space: pre-wrap;”> ActiveWorkbook.Sheets(“Barbaro2”).Range(“H4:L51”).ClearContents Risultati(1, 1) = “Barbaro” Set Risultati(1, 2) = ActiveWorkbook.Sheets(“mod”).Range(“L2:L21”) Risultati(2, 1) = “Guerriero” Set Risultati(2, 2) = ActiveWorkbook.Sheets(“mod”).Range(“L24:L43”) Risultati(3, 1) = “Monaco” Set Risultati(3, 2) = ActiveWorkbook.Sheets(“mod”).Range(“L46:L65”) Risultati(4, 1) = “Stregone” Set Risultati(4, 2) = ActiveWorkbook.Sheets(“mod”).Range(“L68:L87”) Risultati(5, 1) = “Bardo” Set Risultati(5, 2) = ActiveWorkbook.Sheets(“mod”).Range(“O2:O21”) Risultati(6, 1) = “Ladro” Set Risultati(6, 2) = ActiveWorkbook.Sheets(“mod”).Range(“O24:O43”) Risultati(7, 1) = “Paladino” Set Risultati(7, 2) = ActiveWorkbook.Sheets(“mod”).Range(“O45:O65”) Risultati(8, 1) = “Druido” Set Risultati(8, 2) = ActiveWorkbook.Sheets(“mod”).Range(“R2:R21”) Risultati(9, 1) = “Mago” Set Risultati(9, 2) = ActiveWorkbook.Sheets(“mod”).Range(“R24:R43”) Risultati(10, 1) = “Ranger” Set Risultati(10, 2) = ActiveWorkbook.Sheets(“mod”).Range(“R46:R65”) For Indice = 1 To 10 Vettore(Indice, 1) = ActiveWorkbook.Sheets(“Barbaro”).Range(“C38”).Offset((Indice) * 3, 1) Vettore(Indice, 2) = ActiveWorkbook.Sheets(“Barbaro”).Range(“C38”).Offset((Indice) * 3, 9) If Not IsNumeric(Vettore(Indice, 2)) Then MsgBox “livello non numerico” Exit Sub End If Next Indice For Indice01 = 1 To 10 For Indice02 = 1 To 10 If Risultati(Indice01, 1) = Vettore(Indice02, 1) Then For Each CellaW In Risultati(Indice01, 2) If CellaW.Value <= Vettore(Indice02, 2) Then If CellaW.Offset(0, 1) <> “” Then ActiveWorkbook.Sheets(“Barbaro2”).Range(“H52”).End(xlUp).Offset(1, 0) = CellaW.Offset(0, 1).Text End If End If Next CellaW End If Next Indice02 Next Indice01 End If End Sub</p>

    #5070 Risposta

    azalyn
    Partecipante

    <p>disastro.</p>

    #5071 Risposta

    azalyn
    Partecipante

    <p><p>Ok, sono riuscito a renderla automatica ma quando vado ad inserire nuovi classi+livelli continua ad aggiungere voci gia inserite in precedenza ( https://pastebin.com/Swp7S4XC )<br />PS. Ho risolto inserendola in una macro worksheet_change gia esistente</p></p>

    #5075 Risposta
    Luca73
    Luca73
    Partecipante

    Ciao Mi sembra manchi la riga

    ActiveWorkbook.Sheets(“Barbaro2”).Range(“H4:L51”).ClearContents

    che era all’inizio dopo il primo msgbox.

    Questa riga cancella tutto prima di riscrivere.

    Ciao

Login Registrati
Stai vedendo 4 articoli - dal 11 a 14 (di 14 totali)
Rispondi a: Confronto presenza valore in tabelle
Le tue informazioni: