Ho scritto del codice VBA che accetta una singola cella e identifica tutti i suoi dipendenti nella cartella di lavoro (tramite un'analisi NavigateArrow) e aggiunge la loro posizione di intervallo a un array. Da qui voglio essere in grado di aggiornare ogni dipendente e modificare il riferimento alla singola cella originale in un'altra singola cella specificata.Sostituzione di dipendenti con un altro riferimento di cella in VBA
La difficoltà particolare che sto avendo qui è che sebbene io sappia dove è ogni dipendente, il riferimento alla cella originale può essere all'inizio, al centro o alla fine di una formula, e può essere disancorato, riga/colonna/entrambi ancorati, possono trovarsi su un foglio di lavoro diverso e quindi avere un riferimento al foglio di lavoro che lo precede, ecc. Quindi non posso trovare e sostituire facilmente in ogni cella dipendente, a causa di queste potenziali differenze, in più voglio mantenere il ancoraggio originale tenuto in ogni riferimento di cella.
Esiste una soluzione VBA elegante - o addirittura inelegante - a questo problema?
Sembra che ci siano solo quattro varianti del riferimento/indirizzo che dovresti sostituire (riga relativa/fissa/colonna fissa/riga fissa + colonna), in modo da poterli scorrere tra tutti e sostituire se trovati (regolazione l'indirizzo sostitutivo di conseguenza) –
Sì, non posso vedere in nessun altro modo, il che è un peccato perché sembra un po 'goffo. Grazie per l'aiuto! –
Penso che quelle non siano le uniche varianti - non includerebbe anche gli intervalli denominati? O sono contati come riferimenti separati? –