Saltar al contenido

Agregar datos a una columna fila por fila

publicado

Hola a todos, estoy nuevamente trabada en algo que pareciera facil pero me ha estado complicando la vida absoluta...

tengo el siguiente codigo, que lo que DEBERIA HACER, es por cada celda que este vacia "celda.Offset(0, 36)= empty" me ejecute =  hD.Cells(ufo, 36) = celda.Offset(0, 4) + celda.Offset(0, 5).

Lo unico que LOGRE es que me haga esa funcion en la ultima fila... no se como hacerlo para cada celda vacia ?.

Porque la idea es que la hoja se va a ir cargando con nuevos valores, y las celdas que estan vacias significa que aun no hice el proceso fechaJuliana...Perdonen mi igorancia total pero probe varias formulas. y la unica que me ha funcionado parcialmente es esta...

me pueden iluminar en algo que no este viendo.... 

 

' ESTE ES EL CODIGO QUE ESTOY EJECUTANDO O INTENTADO EJECUTAR--------------

Sub fechaJuliana()


Dim hD As Worksheet
Dim ufo As Range
Dim celda As Range


Set hD = Sheets("registros")
ufo = hD.Range("A" & Rows.Count).End(xlUp).Row


 For Each celda In hD.Range("A2:A" & ufo)
  If celda.Offset(0, 36) = Empty Then
  
   hD.Cells(ufo, 36) = celda.Offset(0, 4) + celda.Offset(0, 5)

   End If


Next celda
End Sub
 

Featured Replies

publicado
Hace 1 hora, roa30 dijo:

lo que DEBERIA HACER, es

cambia esta parte:

Hace 1 hora, roa30 dijo:

hD.Cells(ufo, 36) = celda.Offset(0, 4) + celda.Offset(0, 5)

por esto:

celda.Offset(0, 36) = celda.Offset(0, 4) & celda.Offset(0, 5)

a reserva de estar ciertos de que necesitas "sumar" en lugar de "concatenar" ?

publicado

Otra opción, para mi, más clara.

Sub FechaJuliana()
Dim x As Long
Application.ScreenUpdating = False
With Sheets("registros")
   For x = 2 To .Range("A" & Rows.Count).End(xlUp).Row
      If .Range("AK" & x) = Empty Then
         .Range("AK" & x) = .Range("E" & x) + .Range("F" & x)
      End If
   Next
End With
End Sub

 

publicado
  • Autor
Hace 8 horas, Héctor Miguel dijo:

cambia esta parte:

por esto:

celda.Offset(0, 36) = celda.Offset(0, 4) & celda.Offset(0, 5)

a reserva de estar ciertos de que necesitas "sumar" en lugar de "concatenar" ?

Hola Hector Miguel como estas? buen dia gracias re gracias por el aporte , no no es una union, del campo de la columna fecha con el de hora, para hacer posteriormente un analisis con la fila siguiente del lapso de tiempo transcurrido entre esa fila y la fila siguiente

publicado
  • Autor
Hace 5 horas, Antoni dijo:

Otra opción, para mi, más clara.

Sub FechaJuliana()
Dim x As Long
Application.ScreenUpdating = False
With Sheets("registros")
   For x = 2 To .Range("A" & Rows.Count).End(xlUp).Row
      If .Range("AK" & x) = Empty Then
         .Range("AK" & x) = .Range("E" & x) + .Range("F" & x)
      End If
   Next
End With
End Sub

 

Gracias Antoni tambien por tu ayuda, funciona super y ademas lo puedo usa de referencia cuando me trabo en estos pasos! muchisimas gracias

Archivado

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