El siguiente código sirve para copiar el contenido de una celda superior en caso de que este vacía. Se necesita tener un contenido en la celda a1 y algo mas en la celda a5, para que puedan apreciar su funcionamiento.
Código: Seleccionar todo
Dim i As Integer
Dim oHoja As Object, oCelda1 As Object, oCelda2 As Object
For i = 0 to 10
oCelda1 = oHoja.getCellByPosition(0,i)
oCelda2 = oHoja.getCellByPosition(0,i+1)
If oCelda2.Type = 0 Then
If oCelda1.Type = 1 Then
oCelda2.Value = oCelda1.Value
ElseIf oCelda1.Type = 2 Then
oCelda2.String = oCelda1.String
ElseIf oCelda1.Type = 3 Then
oCelda2.Formula = oCelda1.Formula
EndIf
End If
Next i
Es decir, si en A1 escriben =B1+C1, en A2 aparece =B1+C1. Por supuesto, se necesita que copie formulas de forma relativa, es decir, que aparezca =B3+C2.
Espero haberme explicado. Tengo una solución que van a ser mas de 10 líneas de código. Siento que debe haber algo más sencillo para que no sea lento el proceso.