8
Estoy recuperando datos de Excel y me gustaría mantener mis matrices basadas en 0, pero Excel devuelve 1 base. ¿Hay una manera bastante simple de volver a cambiar la matriz de 1 a 0 base? ¿O solo necesito crear un bucle?Cambiar matriz de base 1 a base 0 matriz
He aquí un ejemplo de código aquí:
dim oData(,) as object
dim rng as range
dim wks as worksheet = xlApp.Activeworkbook.sheets(Sheet1)
rng=wks.Range("A1:B2")
oData=rng.Value2
Sí - lazo. Sin embargo, no estoy seguro de que sea una buena práctica: cualquiera que esté familiarizado con el funcionamiento de VBA sabrá que la matriz variante de Range(). Value está basada en 1: si la cambia a 0 puede causar más problemas de los que resuelve , especialmente si alguien más termina manteniendo tu código. –
Sí, no estaba seguro de cómo se hizo en VB.NET, estoy usando una biblioteca que hice desde el archivo de ejecución de Excel 2003 y pensé que podría ser diferente debido a eso. Sé que Excel-DNA devuelve una matriz basada en cero, así que supongo que es por eso que asumí que era estándar estar basado en 0 en .NET. Supongo que me quedaré con una matriz basada en 1. Si pones tu comentario como una respuesta, lo marcaré como correcto, a menos que alguien presente con una mejor respuesta de aquí a entonces. – Jon49
@TimWilliams, me di cuenta de que hablabas de VBA. Así que supongo que no respondiste mi pregunta para .NET. Bueno, tal vez alguien más le dará una oportunidad! – Jon49