Copiar Filas y Pegarlas en orden descendente

06/05/2011 - 04:35 por hilde | Informe spam
¡ Hola ! Quisiera que me ayudaran a solucionar el siguiente inconveniente: Tengo un formulario (UserForm) donde lleno información en 5 TextBox(Cód. Cliente/Nombre/Dirección/Trabajo a ejecutar), 2 OptionButton (Respuesta Si=Presupuesto/Respuesta No=Trabajo Finalizado), 2 CommandButton (Enviar Datos/Borrar Datos). Esos datos van a una hoja de excel (Fila12, Columnas H hasta M) y en la Columna N tengo una fórmula (Bucar= L12;$C$12:$C$912;$B$12:$B$912)). Lo que pretendo es que a medida que ingresa la información en la hoja de excel, ésta sea copiada en la fila de abajo como sigue:la fila H12:N12 se copie en H12:N13, se borre ell contenido de H12:M12, cuando ingrese la siguiente información en H12:M12 copie H12:N13 y la pegue en H13:N13 y borre conteenido en H12:M12; y así sucesivamente. El algorítmo sería: copiar H12+i:N12+i, para i=0,1,2,....n, y las pegue en H13:N13 y borre el contenido en H12:M12. Hice la siguente Macro, pero se queda guindado Excel un buen rato para poner la información

Private Sub CommandButton1_Click()
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
TextBox5 = Empty
OptionButton1 = False
OptionButton2 = False
End Sub
Private Sub CommandButton2_Click()
Sheets("Base de Datos").Select
Application.ScreenUpdating = False
Range("H12").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell = TextBox1
ActiveCell.Offset(0, 1).Select
Selection.Insert Shift:=xlDown
ActiveCell = TextBox2
ActiveCell.Offset(0, 1).Select
Selection.Insert Shift:=xlDown
ActiveCell = TextBox3
ActiveCell.Offset(0, 1).Select
Selection.Insert Shift:=xlDown
ActiveCell = TextBox4
ActiveCell.Offset(0, 1).Select
Selection.Insert Shift:=xlDown
ActiveCell = TextBox5
ActiveCell.Offset(0, 1).Select
If OptionButton1 = True Then
ActiveCell = "Presupuesto"
Else
If OptionButton2 = True Then
ActiveCell = "Obra Finalizada"
End If
End If
ActiveCell.Offset(0, 1).Select
Range("N12").Select
Application.CutCopyMode = False
Selection.Copy
Selection.Insert Shift:=xlDown
End Sub
Les agradezco su ayuda porque tengo varias días buscando solucionar el problema y no lo consigo.
Mil gracias de antemano
 

Preguntas similares