Ayuda con datos

Necesito tu ayuda ... No se como hacer una fórmula o macro para que genere el siguiente ejemplo:
Fila A Fila B
1            2
2            3 
3            4
5 6 quiero que la fórmula sea capaz de detectar esta descontinuacion y genere
6           7       la fila que falta ... 
7           8
Ojala puedas ayudarme ... Si quieres me envías tu mail para chatear por hotmail o skype para entender mejor este problema... Gracias

3 Respuestas

Respuesta
1
Disculpa la demora pero tenía otras actividades, puedes utilizar el código de esta macro:
Sub inserta()
'Te posiciona en la celda número 1 de la columna
Range((Mid(ActiveCell. Address, 2, InStr(2, ActiveCell.Address, "$") - 2)) & "1").Select
'valida las celdas hasta encontrar una vacía
Do While ActiveCell <> Empty
valor1 = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
valor2 = ActiveCell.Value
 If valor2 <> "" Then
  If valor2 - valor1 <> 1 Then
   Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
   ActiveCell.FormulaR1C1 = valor2 - 1
  End If
 End If
Loop
End Sub
Si tienes dudas me buscas
Rene Nochebuena
Amigo la macro funciona, pero no es lo que quiero mira te mostrare a ver si me entiendes
Se presenta así lo datos en la hoja:
      A B
  1              2  
  2 3
  4 5
  5              6  
  6               7  
  8              9 
  10            11 
deberia la macro hacer esto:  
A          B  
  1               2  
  2              3 
  3               4  
  4              5  
  5               6  
  6               7 
  7              8 
  8 9
  9 10
10                11 
Bueno el tema es que la macro haga esto y sea capaz de crear las filas que faltan según el orden.. ojala puedas ayudarme.. gracias
Ok, la macro que te proporcione detecta la discontinuidad e inserta la fila con el valor que falta, esta se puede utilizar en cualquier columna que se posicione el usuario.
¿Tú lo que necesitas es que siempre inicie en la columna "A" y posteriormente se posicione en la columna "B"?
Mi correo es [email protected]
Saludos
RNJ
Respuesta
1
Coloco este ejemplo de lo que hace la macro, tu coloca otro de lo que quieres que haga la macro. Por favor hazlo de la misma manera que yo para poder entenderte.
      A B
  1              1
  2              3
  3               4
  4               5
  5              8
  6               9
  7
  8
  9
CUando corres la macro la info se presenta así:
A B
  1               1
  2             
  3               3
  4               4
  5               5
  6              
  7       
  8               8
  9               9
Haz un ejemplo similar y dime que quieres obtener como resultado después de la macro.
Amigo no funciona o no hace lo que quiero ... si ves el ejemplo desde 1 2 hasta el 3 4 y antes de la 5 6 tendría que ir 4 5 .. se desordena y falta una linea .. eso es lo que quiero que haga la macro.. ojala puedas ayudarme... gracias
Se presenta así:
      A B
  1              2 
  2 3
4 5
  5              6 
  6               7 
  8              9
  10            11

deberia la macro hacer esto: 
A          B 
  1               2 
  2              3
  3               4 
  4              5 
  5               6 
  6               7
  7              8
  8 9
  9 10
10                11
Bueno el tema es que la macro haga esto y sea capaz de crear las filas que faltan según el orden.. ojala puedas ayudarme.. gracias
Disculpa la demora esta macro hace lo que pides
Sub inserta()
Dim Comprobar, Contador
Comprobar = True: Contador = 0    ' Inicializa variables.
Do    ' Bucle externo.
    Do While Contador < 65000    ' Bucle interno.
        Contador = Contador + 1    ' Incrementa el contador.
        If Range("A" & Contador).Value = 0 Then   ' Si la condición es verdadera.
            Comprobar = False    ' Establece el valor a False.
        Else
        If Range("A" & Contador).Value + 1 = Range("A" & Contador + 1).Value Or Range("A" & Contador + 1).Value = 0 Then
        Else
        Rows(Contador + 1).Select
        Selection.Insert Shift:=xlDown
        Range("A" & Contador + 1).Value = Range("A" & Contador).Value + 1
        Range("B" & Contador + 1).Value = Range("A" & Contador).Value + 2
        End If
            Exit Do    ' Sale del bucle interno.
        End If
    Loop
Loop Until Comprobar = False    ' Sale inmediatamente
End Sub
Respuesta
1
Descartada, pregunta repetida...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas