.30.05.17
Buenas, Daniel
Este sitio me envió un aviso para que responda a esta pregunta pero no veo las imágenes ni tampoco recibí imagenes por mail privado. Asumo que tu consulta fue para alguien más.
De todos modos, te arrimo una solución práctica para lo que pedís.
Me confunde un poco tu comentario de que AA3 debería tener el valor 101 y AA5 y AA6 tendrían el valor 102 y 103, lo que parece indicar que deberían rellenarse ascendentemente.
De todos modos, entendiendo la solución te resultará fácil adaptarla a lo que realmente necesitás, modificando los parámetros que te dejo indicado dentro del sigueinte código de VBA
Accedé al Editor de VBA (Atajo: Alt + F11), allí insertá un módulo (Insertar-Módulo) y pegá el siguiente código:
Sub CompletaVac()
'---- Variables modificables ----
'=== DANIEL, modificá estos datos de acuerdo a tu proyecto:
CeldaIni = "AA3" 'celda donde está el primer registro a concatenar
OrdenAsc = False ' FALSE para que disminuya desde el último, TRUE si deben incrementarse los números a partir del mayor
'---- fin Variables
'
' VBA coding by FeJoAl
'
'---- inicio de rutina:
'
Ultcelda = Cells(Cells(Rows.Count, Range(CeldaIni).Column).End(xlUp).Row, Range(CeldaIni).Column).Address
MaxValor = Range(Ultcelda).Value
LaFila = 0
Do
If IsEmpty(Range(Ultcelda).Offset(LaFila)) Then
MaxValor = MaxValor + IIf(OrdenAsc, 1, -1)
Range(Ultcelda).Offset(LaFila).Value = MaxValor
Range(Ultcelda).Offset(LaFila).Interior.ColorIndex = 17
cont = cont + 1
End If
LaFila = LaFila - 1
Loop Until Range(Ultcelda).Offset(LaFila).Address(False, False) = CeldaIni
ElMensaje = IIf(cont = 0, "NO SE AGREGO NUMERO DE REMITO ALGUNO" & Chr(10) & "no se encontraron espacios vacíos", "Se agreg" & IIf(cont > 1, "aron ", "ó ") & cont & " número" & IIf(cont > 1, "s", "") & " de remito.")
TipoMens = IIf(cont = 0, vbCritical, vbInformation)
ElTitulo = IIf(cont = 0, "NO SE HIZO NADA", "TERMINADO!")
Application.ScreenUpdating = True
MsgBox ElMensaje, TipoMens, ElTitulo
End Sub
Como verás al principio hay dos variables: en una le indicás la celda donde empiezan los números de remito (y la macro se encarga de averiguar cual es la última) y la otra variable permite que numere desde el el valor de la última celda hacia atrás si está en False o incrementándolo si ponés TRUE en su lugar.
Probala y decime si es lo que esperabas que haga -y, en tal caso, agradeceré que califiqués mi contribución- o escribime de nuevo aquí, si necesitas más apoyo con esto.
Un saludo
Fernando
(Buenos Aires, Argentina)
.