Desidero selezionare tutte le celle non vuote dalla cella corrente all'ultima cella della riga.Celle non vuote nell'intervallo di Excel C#
Se usiamo
currentRange.End[XlDirection.xlToRight]
questo non è un buon approccio quando le cellule non vuoti non sono contigui link. Ad esempio, le celle A1, A2, A3, A5, A6 non sono vuote, quindi RangeA1.End[XlDirection.xlToRight]
vanno solo fino a A3, ovvero l'ultima cella non vuota collegata a RangeA1.
Un'altra opzione:
CreateRange(currentRange, lastRangePossibleinRow).SpecialCells(...)
Ho 3 domanda:
currentRange.End[XlDirection.xlToRight]
sembra come una soluzione affidabile. Ad esempio, se currentRange è vuoto, restituirà 1 cella comunque (stessa).Come si estende in modo efficace la selezione dalla cella corrente all'ultima cella di Riga?
CreateRange(currentRange, get_range(currentRange.Row + sheet.Columns.Count.ToString()))
? Forse c'è una soluzione migliore.Come ottenere un insieme di celle in questo intervallo che non è vuoto?
.SpecialCells(xlCellTypeConstants | xlCellTypeFormulas)
non funzionerà, ad esempio, se non viene trovato,.SpecialCells(xlCellTypeConstants)
genererà un'eccezione: nessuna cella trovata.
Felice di avere il tuo input, e non è mai troppo tardi per imparare qualcosa di nuovo. ;) Per quanto riguarda la tua risposta, è esattamente quello che voglio evitare: iterazione e ciclo. Farebbe male alle prestazioni, immaginando una riga o una colonna in Excel che contiene già 1 milione di celle; quindi moltiplicare quello per più righe/colonne se voglio controllare più. Questa è la ragione per cui il trattamento integrato come .Specialcells suppongo, offre prestazioni migliori in base alla mia esperienza. – Kenny