Otra opción puede ser mostrar el número de filas, las cuales estarían
previamente ocultas, según el valor de la celda B8.
Saludos a todos desde Huelva
Emilio [MS-MVP Access 2006/11]
miliuco56 ALGARROBA hotmail PUNTO com
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio
"Osorio" <ubeo...@gmail.com> escribi� en el mensaje de noticias
news:d5f35020-bc23-4d8a...@v12g2000vbx.googlegroups.com...
Buenas tardes, por favor si alguien sabe como hacer para que con una
macro que se ejecute con un boton, pueda insertar el numero de filas
que se indique en una celda espec�fica. esto es que si yo digito el la
celda B8 el n�mero 4, se inserten siempre debajo de la fila 10, 4
filas correspondientes al valor en B8. Muchas gracias.
Otra opci�n puede ser mostrar el n�mero de filas, las cuales estar�an
previamente ocultas, seg�n el valor de la celda B8.
__________ Information from ESET Smart Security, version of virus signature
database 5771 (20110109) __________
The message was checked by ESET Smart Security.
__________ Information from ESET Smart Security, version of virus signature database 5771 (20110109) __________
The message was checked by ESET Smart Security.
Aqui Dejo ejemplo de Macros para Insertar Columnas o Filas
Puedes Ver o Descargar Caso practico del mismo en :
http://www.box.net/shared/g084thava2
PARA FILAS
Sub Fila()
Dim UFila As Long, PFila As Long
With ActiveSheet
UFila = .Cells(.Rows.Count, 1).End(xlUp).Row
Nf = Application.InputBox( _
"Despues del Renglon o Fila Num : " & vbCrLf & vbCrLf & "
-------- " & ActiveCell.Row & " -------- " & vbCrLf & vbCrLf & "O
Diga Despues del Renglon o Fila Num: ", "UBICACION de INSERTAR")
If Nf = Empty Then
Nf = ActiveCell.Row
End If
PFila = Application.InputBox( _
"Escriba Cantidad de Renglones o Filas a INSERTAR" &
vbCrLf & "Despues del Renglon o Fila Num " & Nf, "CANTIDAD A
INSERTAR")
If PFila = vbCancel Then
Exit Sub
End If
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
For i = UFila To PFila
.Rows(i + Nf).Insert
Next i
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End With
End Sub
PARA COLUMNAS
Sub Columna()
Dim UColum As Long, PColum As Long
With ActiveSheet
UColum = .Cells(.Columns.Count, 1).End(xlUp).Column
Nc = Application.InputBox( _
"Despues de la Columna : " & vbCrLf & vbCrLf & "
-------- " & ActiveCell.Column & " -------- " & vbCrLf & vbCrLf &
"O
Diga Despues de la Columna Num: ", "UBICACION de INSERTAR")
If Nc = Empty Then
Nc = ActiveCell.Column
End If
PColum = Application.InputBox( _
"Escriba Cantidad de Columnas a INSERTAR" & vbCrLf &
"Despues de la Columna Num " & Nc, "CANTIDAD A INSERTAR")
If PColum = vbCancel Then
Exit Sub
End If
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
For x = UColum To PColum
.Columns(x + Nc).Insert
Next x
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End With
End Sub
Espero sirva de ayuda
Envia Comentarios
Corando
Yo sugeriría una pequeña modificación de TU macro, + o - así:
Sub InsFila()
Dim PFila, Nf As Long
With ActiveSheet
Nf = Application.InputBox("Despues del Renglon o Fila Num : " _
& vbCrLf & vbCrLf & " -------- " & ActiveCell.Row & " -------- " &
_
vbCrLf & vbCrLf & "O Diga Despues del Renglon o Fila Num: " _
, "UBICACION de INSERTAR")
If Nf = Empty Then Nf = ActiveCell.Row
PFila = Application.InputBox( _
"Escriba Cantidad de Renglones o Filas a INSERTAR" & vbCrLf & _
"Despues del Renglon o Fila Num " & Nf, "CANTIDAD A INSERTAR ")
If PFila = vbCancel Then Exit Sub
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
For i = 1 To PFila
.Rows(i + Nf).Insert
Next i
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End With
End Sub
Saludos.-
"De_Corando." <cora...@gmail.com> escribió en el mensaje de noticias
news:70fe6202-230b-487c...@i18g2000yqn.googlegroups.com...
> .Columns(i + Nc).Insert
Debería poner:
Dim PFila, Nf As Long, i As Integer
(Por si, Option Explicit)
"Juan Español" <este...@micorreo.com> escribió en el mensaje de noticias
news:ihu4b6$rj6$1...@speranza.aioe.org...
Es buena la sugerencia !!!
a) Haz clic con el botón derecho de tu ratón en la solapa de la hoja
en la que quieres el efecto y selecciona "Ver código".
b) En la ventana que se te abrirá, copia y pega el siguiente código:
________________________
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$B$8" Or Not IsNumeric([b8]) Then Exit Sub
If [b8] <> Int([b8]) Then Exit Sub
Rows("11:" & 10 + [b8]).Insert Shift:=xlDown
End Sub
________________________
c) Cierra todas las ventanas del ambiente Visual Basic for Application
(VBA) en el que te encuentras y retorna al Excel.
A partir de entonces, cada vez que coloques un número entero en la
celda B8, obtendrás el efecto pedido.
Saludos, Cacho.