Insertar columnas en los números faltantes horizontalmente en un rango (otro código)

Necesito vuestra valiosa ayuda para que el siguiente macro inserte columnas en los números faltantes horizontalmente (en una fila) de un rango seleccionado.

Lo que sucede es que el siguiente macro no inserta las columnas cuando hay otros rangos adyacentes en el lado izquierdo o derecho del rango seleccionado.

Sub InsertColsForMissingNumbers ()

Dim rngMyRange As Range

Dim x As String
Dim y As Integer
Dim i As Long, j As Long
Set rngMyRange = Selection

x = rngMyRange.Cells(1, 1).Address

z = rngMyRange.Cells(rngMyRange.Rows.Count, rngMyRange.Columns.Count).Address

y = Range(x).Row

MsgBox "Primer rango: " & x
MsgBox "Segundo rango: " & z
MsgBox "Número de fila: " & y
MsgBox "Primer valor: " & Range(x).Value
MsgBox "Segundo valor: " & Range(z).Value
For i = Range(x).Value To Range(z).Value
j = Cells(y, i + 1) - Cells(y, i)
If j > 1 Then
Columns(i + 1).Resize(, j - 1).EntireColumn.Insert Shift:=xlToRight
i = i + j - 1
End If
Next i
End Sub

¿Qué estaré haciendo mal que no inserta las columnas?

Añade tu respuesta

Haz clic para o