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 de tavopz
1
1
tavopz, Conozco un poco acerca de Excel (fórmulas y VBA), pregunta y si...
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.