Fórmula para sacar secuencias en excel

Los expertos, necesito una ayuda muy grande, ya busque por muchos sitios y no encuentro lo que necesito, espero que por medio de ustedes lo pueda lograr, sucede lo siguiente:

Tengo en un archivo de excel en la hoja 1 una celda y quiero que al digitar un valor, por ejemplo 12, en la hoja dos se genere una secuencia de 1 en 1 empezando en 1 hasta que llegue a 12, espero haberme hecho entender:

Ejemplo:

Hoja 1 - Celda B3

Yo dígito 12

En la hoja 2 - Rellenar en las celdas A4:A15

1

2

3

4

5

6

7

8

9

10

11

12

Espero haberme hecho entender y mil gracias por toda su colaboración

1 Respuesta

Respuesta
2

Te paso la macro para poder resolver ese problema

Tenes que cargarlo como una Macro de Hoja

Ingresas a Visual Basic (alt + F11)

Seleccionas la hoja correspondiente y ante cada modificacion que hagas en la hoja chequeara la macro.

Si el cambio lo haces en B3 de la hoja en curso generará en Hoja 2 el listado.

**************************************************************************************

Private Sub Worksheet_Change(ByVal Target As Range)

Set SH1 = Sheets("Hoja1")
Set SH2 = Sheets("Hoja2")

If ActiveSheet.Name = "Hoja1" And Target.Column = 2 And Target.Row = 3 Then

SH2.Activate
SH2.Range("A:A").ClearContents
n = 1
Do Until n > Target
SH2.Cells(n, 1) = n
n = n + 1
Loop

End If
End Sub

************************************************************************************

Recorda limitar a numeros enteros el valor asi puede funcionar correctamente ya que el numero que colocas es el que toma para cerrar el bucle.

Con esta macro deberia estar de acuerdo a lo que vos querias, sino cualquier cosa chifla

Por favor recuerda valorar la respuesta!

Slds

Juan

Juan, agradezco inmensamente tu intención de colaborarme, pero mira que no me funcionó, en realidad no hace nada

Mira, la celda donde pongo el numero en la hoja uno es exactamente la F10

Y en la hoja dos necesito que me rellene de la A6 hasta el numero de veces que yo le digité en la hoja uno, no se si me este haciendo entender

Te paso la macro corregida.

Set SH1 = Sheets("Hoja1")
Set SH2 = Sheets("Hoja2")
If ActiveSheet.Name = "Hoja1" And Target.Column = 6 And Target.Row = 10 Then
SH2.Activate
SH2.Range("A:A").ClearContents
 valor = 0 
n = 6
Do Until n > Target + 6
 valor = valor +1
SH2.Cells(n, 1) = valor 
n = n + 1
Loop
End If
End Sub

Por favor recuerda Valorar la respuesta!

Slds

Juan

Juan gracias, mira, te enviare mi código

Private Sub Worksheet_Change(ByVal Target As Range)
Set SH1 = Sheets("Hoja1")
Set SH2 = Sheets("Hoja2")
If ActiveSheet.Name = "Hoja1" And Target.Column = 6 And Target.Row = 10 Then
SH2.Activate
SH2.Range("A:A").ClearContents
valor = 0
n = 6
Do Until n > Target + 6
valor = valor + 1
SH2.Cells(n, 1) = valor
n = n + 1
Loop
End If
End Sub

La línea que esta en negrita me genera error cuando la ejecuto, pero si yo quito ese pedazo de línea el programa corre pero me da un numero de mas; por ejemplo: Si yo dígito 12 en la hoja1 el programa me corre pero en la hoja2 me arroja la secuencia hasta el numero 13

Cambiale

SH2.Range("A:A"). ClearContents

por SH2.Range("A6:A1000").value = ""

y reemplaza

Do Until n > Target + 6

por 

Do Until n > Target + 5

Si te sigue tirando error el SH2 es por que no lo tienes definido - Reemplaza "Hoja2" por "nombre de hoja"

Set SH2 = Sheets("Hoja2")

Por favor recuerda valorar las respuestas!

Slds

Juan

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas