
Problemas con Offset
Publicado por Jorge (1 intervención) el 24/07/2021 20:45:06
Hola a todos, espero puedan ayudarme con este código en Excel Vba en el que al utilizar offset para ubicar y tomar valores que necesito, aparentemente solo toma los primeros y no los vuelve a leer en las siguientes filas.
Dejo aquí el código para que me ayuden con revisarlo y darme una solución.
Gracias de antemano.
Sub Recorre_rango()
'
Dim Rango As Range
Dim celda As Range
Dim valor_informado As String
Dim columna As Integer
Sheets("PANEL DE CONTROL").Select
Range("AB2").Select
Set Rango = Range(Selection, Selection.End(xlDown))
columna = 66 '95 - 28 + 1
For Each celda In Rango
'| columna AA | colum AB | colum AC|
'|--fecha estado---|--estado----|--val01---|--val02--|--val03--|--val04--|--val05-----|
' 25/07/2019 Finalizado uu1 xx1 yyy1 zzz1 201-2019
' 10/03/2021 Activo uu2 xx2 yyy2 zzz2 302-2021
' 02/07/2020 Activo uu3 xx3 yyy3 zzz3 201-2020
'
'Lee Columna estado en la variable estado columna AB
estado = celda.Value
' Lee celda a la izquierda
valor = ActiveCell.Offset(0, -1).Value
' lee columna 5 posiciones a la derecha
valor_informado = ActiveCell.Offset(0, 5).Value
valfecha = (Round(CDbl(valor), 0))
Debug.Print valfecha, estado, valor_informado
Next
' Muestra de los resultados para las variables valfecha y valor_informado: no se actualizan
' 43672 Finalizado 201-2019
' 43672 Activo 201-2019
' 43672 Activo 201-2019
End Sub
Dejo aquí el código para que me ayuden con revisarlo y darme una solución.
Gracias de antemano.
Sub Recorre_rango()
'
Dim Rango As Range
Dim celda As Range
Dim valor_informado As String
Dim columna As Integer
Sheets("PANEL DE CONTROL").Select
Range("AB2").Select
Set Rango = Range(Selection, Selection.End(xlDown))
columna = 66 '95 - 28 + 1
For Each celda In Rango
'| columna AA | colum AB | colum AC|
'|--fecha estado---|--estado----|--val01---|--val02--|--val03--|--val04--|--val05-----|
' 25/07/2019 Finalizado uu1 xx1 yyy1 zzz1 201-2019
' 10/03/2021 Activo uu2 xx2 yyy2 zzz2 302-2021
' 02/07/2020 Activo uu3 xx3 yyy3 zzz3 201-2020
'
'Lee Columna estado en la variable estado columna AB
estado = celda.Value
' Lee celda a la izquierda
valor = ActiveCell.Offset(0, -1).Value
' lee columna 5 posiciones a la derecha
valor_informado = ActiveCell.Offset(0, 5).Value
valfecha = (Round(CDbl(valor), 0))
Debug.Print valfecha, estado, valor_informado
Next
' Muestra de los resultados para las variables valfecha y valor_informado: no se actualizan
' 43672 Finalizado 201-2019
' 43672 Activo 201-2019
' 43672 Activo 201-2019
End Sub
Valora esta pregunta


0