Gamma o Indici riga e colonna in VBA

1

Vorrei sapere quali sono i pro e i contro per la memorizzazione di una variabile di intervallo invece di quattro numeri interi o variabili lunghe (che rappresentano la prima e l'ultima riga e colonna) per definire tale intervallo. Si potrebbe anche usare una variabile di intervallo a cella singola in combinazione con due numeri interi per definire la riga e la colonna per definire un intervallo più ampio.

Ovviamente, ci sono situazioni in cui è necessario utilizzare un metodo rispetto all'altro. Ma ci sono anche situazioni in cui hai bisogno sia degli indici che dell'intervallo a un certo punto, e ci sono situazioni in cui entrambi i metodi funzioneranno (per esempio se hai bisogno di fare riferimento a ogni cella nell'intervallo uno per uno ).

Quindi non ho bisogno di vantaggi e svantaggi banali come "Quando hai bisogno di cambiare il formato dell'intero intervallo, fai riferimento all'intervallo.". Inoltre, sto solo chiedendo quale variabile useresti in situazioni in cui gli intervalli o gli indici funzioneranno, o dove entrambi sono necessari ad un certo punto.

EDIT : sono consapevole del fatto che per ognuno di essi battere nidificati per loop al code golf in questa situazione, non c'è bisogno di menzionare questa o altre risposte del golf sul codice situazionale perché chiunque sappia come usare entrambi i metodi dovrebbero essere in grado di capirlo da soli.

    
posta nateAtwork 18.03.2015 - 00:51
fonte

1 risposta

1

In semplice VBA, è davvero solo una scelta di stile, poiché entrambi svolgeranno il lavoro e qualsiasi differenza di prestazioni sarà trascurabile. Posso solo vedere questa domanda che conta in scenari più complessi.

Alcune cose da considerare:

Potresti aver bisogno di più di quattro numeri interi per specificare un intervallo. Un riferimento completo a una singola cella richiederebbe un nome file, un nome foglio di lavoro, una riga e una colonna.

Se modifichi il layout di un foglio di lavoro, potrebbe essere più semplice ridefinire l'intervallo una volta all'inizio della funzione piuttosto che modificare i valori interi in più punti.

Un intervallo può contenere più aree. Ad esempio, potresti avere quattro celle qui e quattro celle non contigue là definite da un oggetto intervallo.

Se stai facendo diverse cose su ogni cella (ad esempio recuperando un valore, impostando il colore, impostando il bordo, impostando il formato del numero), potrebbe essere meglio usare una variabile di intervallo (che dice Excel "questo punto, fallo") piuttosto di dire ripetutamente a Excel di "andare a cercare questo foglio / riga / colonna, fai questo".

Se si chiamava Excel dall'esterno utilizzando COM Automation, potrebbe essere un vantaggio rendere l'interfaccia più chiara restituendo un oggetto intervallo (già definito in una libreria di tipi) piuttosto che un array o un'altra struttura di dati definita dall'utente ( che devi definire un'interfaccia per, pubblicare una libreria di tipi o applicare un attributo di marshalling personalizzato).

    
risposta data 18.03.2015 - 13:48
fonte

Leggi altre domande sui tag