Quello che ho è un foglio con i dati e voglio definire un intervallo non contiguo che può essere utilizzato, ad esempio, per creare un grafico.Delphi - Excel: definire un intervallo non contiguo
Finché l'intervallo è rettangolare, è molto semplice definire la gamma.
range := ASheet.Range['A1', 'B10'];
Questo crea un intervallo rettangolare con l'angolo superiore sinistro in A1
e in basso a destra in B10
. Il problema è quando i dati non sono definiti in modo che possano essere selezionati con un singolo rettangolo.
Come esempio abbiamo questi dati:
+-------+------+------+------+------+
| Time | Col1 | Col2 | Col3 | Col4 |
+-------+------+------+------+------+
| 01:20 | 5 | 1 | 101 | 51 |
| 01:21 | 6 | 1 | 101 | 51 |
| 01:22 | 5 | 0 | 101 | 51 |
| 01:23 | 5 | 0 | 101 | 51 |
| 01:24 | 5 | 0 | 101 | 55 |
| 01:25 | 5 | 1 | 101 | 55 |
| 01:26 | 6 | 1 | 101 | 15 |
| 01:27 | 7 | 2 | 101 | 15 |
| 01:28 | 7 | 2 | 101 | 15 |
+-------+------+------+------+------+
Se io per esempio desidero creare un grafico per tempo, Col1 e Col2 quindi la gamma è semplicemente ASheet.Range['A1', 'C10']
. Se voglio creare il grafico per Time, Col1, Col3 e Col4 non è possibile creare un intervallo in questo modo (poiché Col2 non dovrebbe essere incluso).
In VBA è possibile creare l'intervallo desiderato semplicemente .Range("A1:B10,D1:E10")
. Sfortunatamente non sembra esserci un modo equivalente per definire un intervallo in Delphi (Excel2010), infatti sembra che supporti solo la gamma con il formato .Range[topLeft, bottomRight]
.
La mia domanda è: Come definire un intervallo non contiguo in Delphi?
+1; buona soluzione. Posso riferire alla frustrazione della ricerca (: –
Collegamenti ad altre versioni di Excel della stessa funzione: [Excel 2013 Application.Union] (http://msdn.microsoft.com/en-us/library/office/ff834621 (v = office.15) .aspx); [Excel 2010 Application.Union] (http://msdn.microsoft.com/en-us/library/office/ff834621 (v = office.14) .aspx); [Applicazione Excel 2007 .Union] (http://msdn.microsoft.com/en-us/library/office/bb178176 (v = office.12) .aspx); [Excel 2003 Application.Union] (http://msdn.microsoft. com/it-it/library/ufficio/aa213609 (v = office.11) aspx); –