¿Cómo puedo Agregar N filas con un inputbox y usar un autofill?

Saludos, Quiero pedirles ayuda con una base de datos que tengo, mi problema es que quiero poner un botón con el cual yo pueda agregar X cantidad de filas por medio de un inputbox y que esa x cantidad se copie con un autofill... Tengo un listado en donde tengo que agregar contadores y administradores ejemplo

Celda C5 Contador1

Celda C6 Administrador1
yo quiero presionar un botón y aparezca un inputbox y me pregunte cuantas filas quiero agregar, supongamos que 2, entonces...

C5 Contador1

C6 Contador2

C7 Contador3

C8 Administrador1

El siguiente es el código que tengo... Que no funciona..

Private Sub CommandButton2_Click()
Dim a As Integer, x As String
a = 0
a = InputBox("Cuantas filas quieres insertar? ")
While a > 0
x = "6:6 & a "
Rows("6:6").Select
Selection.EntireRow.Insert
Selection.AutoFill Destination:=Rows(x), Type:=xlFillDefault
Rows(x).Select
a = a - 1
Wend
End Sub

Gracias por su ayuda

Saludos

1

1 respuesta

Respuesta
1

Te dejo las instrucciones para tu ejemplo donde siempre empiezas en fila 6, luego mi dirás qué hacer como Administrador

a = InputBox("Cuantas filas quieres insertar? ")

fini = 5 + a
Rows("6:6").Select
For i = 1 To a     'primero insertamos las filas y luego completamos el rango
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Next i
Range("C5").Select
Selection.AutoFill Destination:=Range("C5:C" & fini), Type:=xlFillDefault

Muchas Gracias funciono perfectamente... Con el Administrador es el mismo proceso agregando un nuevo botón, pero la verdad no había tomado en cuenta que la fila del administrador variara de acuerdo a la cantidad de contadores que agregue, entonce primero deberá buscar donde esta localizado "Administrador 1", no es verdad?? Ademas que pasaría si ya tengo 3 contadores agregados y posteriormente quiero incrementarlo a 4 como puedo buscar el ultimo contador?.. Gracias por tu ayuda y disculpa las molestias

Si vas a tener un botón por cada elemento, entonces debieras seleccionar la primer celda, en este caso la de Administrador y presionar el botón.

Ajustá la rutina en las líneas negritas;:

a = InputBox("Cuantas filas quieres insertar? ")

fila=activeCell.Row    'guardo cuál es la fila activa
fini = fila + a
Activecell.EntireRow.Select
For i = 1 To a      'primero insertamos las filas y luego completamos el rango
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Next i
Range("C" & fila).Select
Selection.AutoFill Destination:=Range("C" & fila & ":C" & fini), Type:=xlFillDefault
End Sub

Probala y si presenta alguna diferncia, escribime cómo te quedó

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas