Colocar datos de forma descendente.

Hola de nuevo, tengo una confusión, en una hoja introdusco los datos de mecanico,dia,mes,valor reparación,comision; estos datos los introdusco por medio de una macro que he aprendido a hacer, ella me introduce siempre en la fila 9, osea que cada fila introducida va corriendo hacia abajo, hay de pronto alguna forma que haga que cada fila introducida entre en el espacio n+1, osea la primera en la fila 9,la segunda en la fila 10 etc,etc. De esta forma los dias aumentan hacia abajo.
                 mecanico      mes     dia     valor     comision
 fila 9        elmer           abril      12     10000       5000
fila 10       elmer           abril      13      5000         2500
fila  11      elmer            abril      16     12000        6000
por tu gran ayuda, muchisimas gracias.

1 Respuesta

Respuesta
1
Si se puede, lo que debes hacer es implementar un contador en alguna parte de tu libro donde vayas llevando registro del número de filas que tienes. Esto puede hacerse de muchas maneras, pero como estás apenas iniciando en esto de las macros, te aconsejo que lo hagas simplemente sumando 1 al anterior, algo así:
Sub Agregar()
    x = Range("AZ1").Value
    Range("A"& Ltrim(Str(x)).Value = mecanico
    Range("B"& Ltrim(Str(x)).Value = dia
    Range("AZ1").Value = x + 1
End Sub()
Como verás, en la celda AZ1 se llevará el consecutivo que vas a utilizar al momento de llevar los valores a tu tabla.
te agradezco mucho tu ayuda, entonces coloco lo que me dices al final en cada uno de los textbox ?
No entendí... ¿cuáles textbox? No veo que hayas hablado de textbox en tu pregunta.
esto es lo que yo he realizado, siempre que doy insertar, lo coloca todo en la fila 10, me gustaría mucho poder colocarlo en una fila nueva cada ves.
Private Sub ComboBox1_Change()
Range("A10").Select
ActiveCell.FormulaR1C1 = ComboBox1
End Sub
Private Sub ComboBox2_Change()
Range("B10").Select
ActiveCell.FormulaR1C1 = ComboBox2
End Sub
Private Sub ComboBox3_Change()
Range("C10").Select
ActiveCell.FormulaR1C1 = ComboBox3
End Sub
Private Sub ComboBox4_Change()
ComboBox4.AddItem "SUZUKI"
ComboBox4.AddItem " AN 100"
ComboBox4.AddItem "AX100"
ComboBox4.AddItem "AX115 "
ComboBox4.AddItem "FD 115 "
ComboBox4.AddItem "FD 125"
ComboBox4.AddItem "UY 125 "
ComboBox4.AddItem "GN 125"
ComboBox4.AddItem "TS 125"
ComboBox4.AddItem "TS185"
ComboBox4.AddItem "DR 200"
ComboBox4.AddItem "GZ 250"
ComboBox4.AddItem "GS 500"
ComboBox4.AddItem "DL 650"
ComboBox4.AddItem "DR 650"
ComboBox4.AddItem "FANALCA HONDA"
ComboBox4.AddItem "C -90"
ComboBox4.AddItem "BIZ 125 ES"
ComboBox4.AddItem "C-100 BIZ KS"
ComboBox4.AddItem "C-100 BIZ ES"
ComboBox4.AddItem "CBZ 160 ES"
ComboBox4.AddItem "CBF 150"
ComboBox4.AddItem "E -STORM"
ComboBox4.AddItem "Splendor FT"
ComboBox4.AddItem "Splendor +"
ComboBox4.AddItem "XL -200"
ComboBox4.AddItem "XLR -125"
ComboBox4.AddItem "NXR 125 KS"
ComboBox4.AddItem "NX R 125 ES"
ComboBox4.AddItem "CG 125 ES"
ComboBox4.AddItem "ECO DELUXE"
ComboBox4.AddItem "ECO 100 +"
ComboBox4.AddItem "XR 250"
ComboBox4.AddItem "C 100 WAVE"
ComboBox4.AddItem "ELITE"
ComboBox4.AddItem "INCOLMOTOS YAMAHA"
ComboBox4.AddItem "V 80S"
ComboBox4.AddItem "YW -100"
ComboBox4.AddItem "T110E"
ComboBox4.AddItem "T110ER"
ComboBox4.AddItem "T110EDR"
ComboBox4.AddItem "RX 100"
ComboBox4.AddItem "RX100C"
ComboBox4.AddItem "YD110 -LIBERO"
ComboBox4.AddItem "AT115"
ComboBox4.AddItem "RXS 115"
ComboBox4.AddItem "YBR 125DX"
ComboBox4.AddItem "DT 125S"
ComboBox4.AddItem "DT 125D"
ComboBox4.AddItem "DT 175S"
ComboBox4.AddItem "DT 175D"
ComboBox4.AddItem "XTZ125"
ComboBox4.AddItem "XT225"
ComboBox4.AddItem "XT660R"
ComboBox4.AddItem "XV250"
ComboBox4.AddItem "AUTECO KAWASAKI"
ComboBox4.AddItem "KYMCO"
ComboBox4.AddItem "MAX II 100"
ComboBox4.AddItem "KMX 125"
ComboBox4.AddItem "WIND "
ComboBox4.AddItem "BOXER"
ComboBox4.AddItem "PULSAR I"
ComboBox4.AddItem "PULSAR II"
ComboBox4.AddItem "Top BOY"
ComboBox4.AddItem "SPIKE"
ComboBox4.AddItem "ACTIV"
ComboBox4.AddItem "FURAX"
ComboBox4.AddItem "BET & WIN"
ComboBox4.AddItem "PLATINO"
ComboBox4.AddItem "DISCOVER"
ComboBox4.AddItem "AGILITY"
ComboBox4.AddItem "VERSIS"
ComboBox4.AddItem "AUTECO 100"
ComboBox4.AddItem "AUTECO 110"
ComboBox4.AddItem "JIALING"
ComboBox4.AddItem "JH 150 35"
ComboBox4.AddItem "JL 110 - 8"
ComboBox4.AddItem "JH 150 - 35"
ComboBox4.AddItem "JL 70 3"
ComboBox4.AddItem "JL 110 - 11"
ComboBox4.AddItem "JH 100 - A"
ComboBox4.AddItem "JH 125 - 16"
ComboBox4.AddItem "JL 125 T 7"
ComboBox4.AddItem "JL 70 T -28"
ComboBox4.AddItem "JL 110 - 3"
ComboBox4.AddItem "JH 100 - 2"
ComboBox4.AddItem "JL 90 - 1"
ComboBox4.AddItem "JL 110 - 5"
ComboBox4.AddItem "JH 100 C"
ComboBox4.AddItem "JH250 E3"
ComboBox4.AddItem "JH 150 GY - 2"
ComboBox4.AddItem "Moto carguero"
ComboBox4.AddItem "JINCHENG"
ComboBox4.AddItem "JC 250 - 6"
ComboBox4.AddItem "JC 150"
ComboBox4.AddItem "JC125 -18"
ComboBox4.AddItem "COL 125"
ComboBox4.AddItem "JC 125 - 17 C"
ComboBox4.AddItem "JC 125 - T6"
ComboBox4.AddItem "JC 110 - 18"
ComboBox4.AddItem "JC 110 16 A"
ComboBox4.AddItem "JC 110 - 2"
ComboBox4.AddItem "JC 100 E"
ComboBox4.AddItem "JC 100 - C"
ComboBox4.AddItem "QUINQUI"
ComboBox4.AddItem "UNITED MOTORS UM"
ComboBox4.AddItem "POWER MAX"
End Sub
Private Sub ComboBox5_Change()
Range("D10").Select
ActiveCell.FormulaR1C1 = ComboBox5
End Sub
Private Sub ComboBox6_Change()
Range("C10").Select
ActiveCell.FormulaR1C1 = 6
End Sub
Private Sub CommandButton1_Click()
ComboBox1.AddItem "LUIS"
ComboBox1.AddItem "NILTON"
ComboBox1.AddItem "VICTOR"
End Sub
Private Sub CommandButton2_Click()
ComboBox2.AddItem "ENERO"
ComboBox2.AddItem "FEBRERO"
ComboBox2.AddItem "MARZO"
ComboBox2.AddItem "ABRIL"
ComboBox2.AddItem "MAYO"
ComboBox2.AddItem "JUNIO"
ComboBox2.AddItem "JULIO"
ComboBox2.AddItem "AGOSTO"
ComboBox2.AddItem "SEPTIEMBRE"
ComboBox2.AddItem "OCTUBRE"
ComboBox2.AddItem "NOVIEMBRE"
ComboBox2.AddItem "DICIEMBRE"
End Sub
Private Sub CommandButton3_Click()
ComboBox3.AddItem "Lunes"
ComboBox3.AddItem "Martes"
ComboBox3.AddItem "Miercoles"
ComboBox3.AddItem "Jueves"
ComboBox3.AddItem "Viernes"
ComboBox3.AddItem "Sabado"
End Sub
Private Sub CommandButton4_Click()
For x = 1 To 31
Next
End Sub
Private Sub CommandButton5_Click()
Range("A10").Select
Selection.EntireRow.Insert
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
TextBox5 = Empty
TextBox1.SetFocus
End Sub
Private Sub CommandButton6_Click()
Cells.Find(What:=TextBox1, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
ActiveCell.Offset(0, 1).Select
TextBox2 = ActiveCell
Rem la línea que contiene el ActiveCell.Offset(0, 1).Select permite moverse una columna a la derecha, por lo tanto después de la búsqueda de las primeras líneas con Cell.Find si encuentra el Nombre de la persona se mueve a la siguiente columna y la línea TextBox2 = ActiveCell Permite capturar el valor de la celda al Textbox2 y así mostrar el dato de la celda en el TextBox2.
ActiveCell.Offset(0, 1).Select
TextBox3 = ActiveCell
Rem Cada vez que se escriba la línea ActiveCell.Offset(0, 1).Select significa que se tiene que moverse una columna a la derecha.
End Sub
Private Sub CommandButton7_Click()
Selection.EntireRow.Delete
Range("A10").Select
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
TextBox5 = Empty
TextBox1.SetFocus
End Sub
Private Sub CommandButton8_Click()
ComboBox8.AddItem "AKT"
ComboBox8.AddItem "HONDA"
ComboBox8.AddItem "KAWASAKI"
ComboBox8.AddItem "KYMCO"
ComboBox8.AddItem "QUINQUI"
ComboBox8.AddItem "SUZUKI"
ComboBox8.AddItem "YAMAHA"
ComboBox8.AddItem "JIALING"
ComboBox8.AddItem "JINCHENG"
ComboBox8.AddItem "UNITED MOTORS UM"
ComboBox8.AddItem "SKYGO"
End Sub
Private Sub TextBox1_Change()
Range("F10").FormulaR1C1 = TextBox1
End Sub
Private Sub TextBox2_Change()
Range("G10").FormulaR1C1 = TextBox2
End Sub
Private Sub TextBox3_Change()
Range("H10").FormulaR1C1 = TextBox3
End Sub
Private Sub TextBox4_Change()
Range("I10").FormulaR1C1 = TextBox4
End Sub
Private Sub TextBox6_Change()
Range("J10").FormulaR1C1 = TextBox6
End Sub
gracias de nuevo por su colaboracion.
Lleva un contador en alguna parte de tu hoja de cálculo, por ejemplo en una celda que se llame "conteo".
Entonces toma el valor de "conteo" cada vez que vayas a ingresar un valor y ese lo colocas como te indiqué arriba.
Esto tendrías que hacerlo desde luego en todas las líneas de tu código. Al inicio llevas el valor del contador a una variable (si deseas) y le sumas 1, luego ese valor lo vas a colocar en el código reemplazando el 10 de la fila donde estás colocando hoy tus datos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas