Saltar al contenido

Busqueda en rango de columnas


Recommended Posts

publicado

Buenas tardes estimados(as):

Tengo una duda, al aplicar código fuente para que de acuerdo a parámetros se pueda realizar una búsqueda dentro de un rango de celdas, en las cuales los encabezados de columnas representan fechas, y las filas códigos de grupos. Se requiere realizar una búsqueda por fecha y código para introducir en la intersección un valor que se tiene en un textbox. el código que se utiliza es el siguiente:

Sub busqueda()
Dim fecha As Date
Dim columnas, filas As Range
Dim a, b As Integer
fecha = dia & "/" & mes & "/" & año
Set columnas = Range("af3:ds3")
Set filas = Range("c4:c94")
a = filas.Find(codigo, , xlValues, xlWhole, xlByRows, xlNext, False).Row
b = columnas.Find(fecha, , xlValues, xlWhole, xlByColumns, xlNext, False).Column
Cells(a, b) = TextBox1
End Sub

Por alguna razón el valor de a es encontrado y reportado, pero cuando esta corriendo la linea de código en la que se busca la columna devuelve un error "object variable or with block variable not set". ¿Que es lo que esta mal?, ¿Qué concepto, conocimiento o criterio esta aplicándose mal?, gracias por sus comentarios.

publicado
Hace 13 horas, Abraham Valencia dijo:

Hola

Adjunta tu archivo para no andar adivinando. Eso sí, un adelanto que no necesariamente está relacionado al error: Estás declarando mla las variables. Saludos.

Bueno al parecer no puedo subir archivos, y sinceramente e tratado de pagar la suscripción y no me deja. algún conflicto con la forma de pago 

publicado
En 23/6/2022 at 19:54 , Abraham Valencia dijo:

Hola

Adjunta tu archivo para no andar adivinando. Eso sí, un adelanto que no necesariamente está relacionado al error: Estás declarando mla las variables. Saludos.

Al parecer, alguien si pudo adivinar mi problema. Y la solución no fue muy difícil.

Private Sub CommandButton1_Click()
Dim fecha As String
Dim columnas, filas As Range
Dim a, b As Integer

fecha = dia & "/" & dia & "/" & año
fecha = CStr(fecha)

Set columnas = Range("d3:ds3")
Set filas = Range("c4:c94")

a = filas.Find(subcodigo).Row: MsgBox a
b = columnas.Find(fecha).Column: MsgBox b

Cells(a, b) = TextBox1
End Sub

 

 

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.