estoy haciendo unas pruebas con vba, tengo codificados tipos de gastos en la hoja "tipogasto", en la que a cada tipo de gasto se le asigna un número. Lo que quiero es que en la hoja1, cuando en la columna código ponga un número me escriba en la columna c, tipo de gasto, el tipo de gasto que le corresponde a este número según la hoja tipogasto.
quiero hacerlo con vba, y lo he conseguido, pero el editor vba se queda colgado ejecutando el código.
El archivo adjunto es un pequeño ejemplo, de una base de datos extensa, en la cual debo aplicar este caso en varias ocasiones, para tipos de gastos, proveedores, acreedores, etc....No quiero pensar lo que le puede costar.
Agradecería, me ayudaran a saber que me esta fallando para que se tire minutos y minutos ejecutando el código, cuando entiendo que es algo sencillo.
Sub automatico_gastos()
Dim celdagasto As Range
Dim codigosgasto As Range
Dim rango_tipo_gasto As Range
Set rango_tipo_gasto = Range(Range("c2"), Range("C2").End(xlDown))
Set codigosgasto = Worksheets("tipogasto").Range("A2:B11")
buenas,
estoy haciendo unas pruebas con vba, tengo codificados tipos de gastos en la hoja "tipogasto", en la que a cada tipo de gasto se le asigna un número. Lo que quiero es que en la hoja1, cuando en la columna código ponga un número me escriba en la columna c, tipo de gasto, el tipo de gasto que le corresponde a este número según la hoja tipogasto.
quiero hacerlo con vba, y lo he conseguido, pero el editor vba se queda colgado ejecutando el código.
El archivo adjunto es un pequeño ejemplo, de una base de datos extensa, en la cual debo aplicar este caso en varias ocasiones, para tipos de gastos, proveedores, acreedores, etc....No quiero pensar lo que le puede costar.
Agradecería, me ayudaran a saber que me esta fallando para que se tire minutos y minutos ejecutando el código, cuando entiendo que es algo sencillo.
Sub automatico_gastos()
Dim celdagasto As Range
Dim codigosgasto As Range
Dim rango_tipo_gasto As Range
Set rango_tipo_gasto = Range(Range("c2"), Range("C2").End(xlDown))
Set codigosgasto = Worksheets("tipogasto").Range("A2:B11")
For Each celdagasto In rango_tipo_gasto
If celdagasto.Offset(0, -1) = "" Then
celdagasto = ""
Else
celdagasto = Application.WorksheetFunction.VLookup(celdagasto.Offset(0, -1), codigosgasto, 2, 0)
End If
Next celdagasto
End Sub
UN SALUDO. GRACIAS
pruebas.rar