/ / Come evidenziare una cella quando cambia il risultato di una formula da un altro foglio? - excel, vba, excel-vba

Come evidenziare una cella quando cambia il risultato di una formula da un altro foglio? - excel, vba, excel-vba

Questo è uno che mi sta uccidendo e ho provato quasi ogni soluzione su Internet.

Ecco lo sfondo. Ho un modello di risorse umane che ha suddiviso ciascun dipartimento in schede separate. Voglio eseguire un estratto dal nostro sistema di gestione stipendi di ogni busta paga e inviare evidenziare eventuali aggiornamenti singolarmente. Se il titolo o lo stipendio o lo stato di qualcuno cambiano, voglio farlo richiamato evidenziando la cella.

Ciascuna scheda utilizza una ricerca INDICE / MATCH nella scheda di estrazione per inserire le informazioni correnti. Quello che voglio è se qualsiasi valore cambia o è nuovo (una nuova assunzione, ad esempio), evidenzia le celle.

Ho giocato con Worksheet_Calculate eWorksheet_Change inutilmente. Worksheet_Change non si attiva perché non apporto la modifica direttamente sul foglio e Worksheet_Calculate non ha l'oggetto Target per fare riferimento. Ho provato il seguente codice:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim updatedCell As Range
Set updatedCell = Range(Target.Dependents.Address)

If Not Intersect(updatedCell, Range("A:A")) Is Nothing Then
updatedCell.Interior.ColorIndex = 3
End If

End Sub

L'intervallo che ho effettivamente bisogno di valutare è A7: R104 ma ho cercato di far funzionare qualsiasi cosa quando collegato a un altro foglio.

Funziona bene se la formula della cella obiettivo èche punta a un'altra cella sullo stesso foglio. Il momento in cui punti a uno su un altro foglio non funziona, ho provato la maggior parte delle soluzioni qui senza successo. Ho anche provato a mettere Worksheet_Change nel foglio di estrazione e vedere se posso attivarlo in quel modo senza fortuna.

Esiste una soluzione consigliata per attivare una modifica a una cella per una formula collegata a un altro foglio?

risposte:

0 per risposta № 1

quindi ho appena visto questo post, non so se hai trovato la soluzione o stai ancora cercando, ma:

se selezioni una cella nel foglio 3, puoi andarenella scheda Home, vai a "formattazione condizionale" - regole di celle ad alta visibilità - più regole (in basso) - e "usa le formule per determinare quali celle devono formattare" e quindi metti il ​​cursore nella casella della formula. ora seleziona una cella nel foglio 1 (fai clic sulla scheda foglio1 e fai clic su una cella) e noterai che dovrebbe compilare l'indirizzo per sheet1 e la cella u selezionata. ora digita <> dopo quell'indirizzo celle, quindi seleziona sheet2 e una cella, quindi fare clic su formato e scegliere un colore di riempimento, quindi ok se si passa alla formattazione condizionale e alle regole di gestione, mostrerà la regola / formula e le celle a cui si applica.

Facendo questo sono stato in grado di selezionare la cella D10 nel foglio 3, e renderlo un verde brutto se le celle di sheet1 e 2 non corrispondevano (ho scelto quali celle) puoi anche selezionare un intervallo di celle.

quindi, è possibile applicare questa regola a qualunque cosavuoi e se registri una macro di te che imposti questa formattazione condizionale, puoi maneggiare quella macro per applicarla a un gruppo di celle diverse e modificare gli intervalli. (usando loop / variabili)