Saltar al contenido

Como Usar correctamente Redim en VBA ???


Recommended Posts

publicado

Primero que todo un feliz año para todos ....

Al declarar una matriz o arreglo en vba no conozco el tamaño de la misma ya que debo procesar una columna de una planilla para conocer el tamaño....que ademas varia mes a mes.....como defino correctamente la matriz "funcionarios" que tendra n filas y 30 columnas ??? 

 

puedo usar (despues de conocer la cantidad de funcionarios) algo como REDIM func(cantidadfunc, 30 )  ?????

 

gracias de antemano

 

 

publicado

Si lo que buscas es pasar un rango de 30 columnas a una matriz:

Dim matriz As Variant
matriz = Range("A2").Resize(Range("A" & Rows.Count).End(xlUp).Row, 30)
MsgBox "Filas:    " & UBound(matriz, 1) & Chr(10) & _
       "Columnas: " & UBound(matriz, 2)

Se supone que tus datos empiezan en A2.

publicado
Hace 52 minutos , Antoni dijo:

Si lo que buscas es pasar un rango de 30 columnas a una matriz:

Dim matriz As Variant
matriz = Range("A2").Resize(Range("A" & Rows.Count).End(xlUp).Row, 30)
MsgBox "Filas:    " & UBound(matriz, 1) & Chr(10) & _
       "Columnas: " & UBound(matriz, 2)

Se supone que tus datos empiezan en A2.

Antoni

 

gracias de todas formas, pero si los datos comienzan en A2 hacia abajo....cada mes, la cantidad de filas con valor bajo A2, varía....por ejemplo...un mes 18 filas, otro mes 45, etc etc 

 

publicado
Hace 2 horas, Frank2021 dijo:

Hola,

prueba esto

Dim aTemp() As Variant
ReDim aTemp(numRows, numCols)

Saludos

Funciona @Frank2021, gracias

publicado
Hace 15 horas, jotaeme dijo:

Antoni

 

gracias de todas formas, pero si los datos comienzan en A2 hacia abajo....cada mes, la cantidad de filas con valor bajo A2, varía....por ejemplo...un mes 18 filas, otro mes 45, etc etc 

 

El código funciona con cualquier número de filas.

publicado
En 25/1/2022 at 12:49 , jotaeme dijo:

gracias de todas formas, pero si los datos comienzan en A2 hacia abajo....cada mes, la cantidad de filas con valor bajo A2, varía....por ejemplo...un mes 18 filas, otro mes 45, etc etc

Antoni, solo te dio una muestra de como cargar de una vez la matriz

Con Redim, la redimensionas, para utilizarla despues de cargarla

 

Saludos

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.