| |||
boton en excel para meter datos en otra hoja con un input box Hola, miren estoy haciendo una aplicacion en excel y me ha surgido la siguiente duda. Tengo en la hoja1 un boton para supuestamente que me salgan varios inputbox cuando le des, esos inputbox se almacenan en variables cuyo valor sera escrito en una fila en la hoja2. El problema esque si le doy al boton me lo hace perfecto, pero si quiero agregar otra fila en la hoja2 se sustituyen los datos que antes he metido, vamos resumiendo, me gustaria saber como almacenar los datos en la ultima fila vacia. Gracias |
| |||
Re: boton en excel para meter datos en otra hoja con un input box Y no puedes hacer una minimacro que se posicione grabando las pulsaciones END y flecha hacia abajo por ejemplo? y luego meter ese pedacito de código antes de ejecutar tu aplicación? |
| |||
Re: boton en excel para meter datos en otra hoja con un input box Cita: muchas gracias por responder, pero no entiendo lo que me quieres decir, te pongo el codigo de mi aplicacion para ver si asi te hes mas facil ayudarme:Private Sub CommandButton1_Click() Dim matricula As String Dim marca As String Dim modelo As String Dim categoria As String Dim combustible As String Dim aceite As String Dim strMsg As String matricula = InputBox("Inserte la matricula del vehiculo:", "Nuevo vehiculo") marca = InputBox("Inserte la marca del vehiculo:", "Nuevo vehiculo") modelo = InputBox("Inserte el modelo del vehiculo:", "Nuevo vehiculo") categoria = InputBox("Inserte la categoria del vehiculo:", "Nuevo vehiculo") combustible = InputBox("Inserte el combustible del vehiculo:", "Nuevo vehiculo") aceite = InputBox("Inserte el aceite del vehiculo:", "Nuevo vehiculo") strMsg = "El coche con matricula " & matricula & ", " & modelo & " se a creado" MsgBox strMsg Dim hoja As Worksheet Dim celda As Characters For Each hoja In Sheets Hoja6.Range("A3").Value = matricula Hoja6.Range("B3").Value = marca Hoja6.Range("c3").Value = modelo Hoja6.Range("d3").Value = categoria Hoja6.Range("e3").Value = combustible Hoja6.Range("f3").Value = aceite Next hoja |
| |||
Re: boton en excel para meter datos en otra hoja con un input box Por tu ejemplo controlas la fila donde se escribe con el parámetro que le pasas al rango. Hoja6.Range("f3").Value = aceite Yo en tu lugar usaría una celda alejada de la planilla donde almacenar el número correspondiente la última fila con datos. Por ejemplo en la celda M5 por decir algo digitas un 10 si es ahí donde comenzarás a llenar los datos. Luego donde tú dices: For Each hoja In Sheets Hoja6.Range("A3").Value = matricula Hoja6.Range("B3").Value = marca Hoja6.Range("c3").Value = modelo Hoja6.Range("d3").Value = categoria Hoja6.Range("e3").Value = combustible Hoja6.Range("f3").Value = aceite Next hoja Trataría de controlar ese "3" con el valor de la celda M10 y al terminar de llenar los datos aumentas el valor de M5 en 1. O sea lo que antes era: Hoja6.Range("A3").Value = matricula quedaría Hoja6.Range(=CONCATENAR("A3";M5)).Value = matricula y luego de que terminas con todas las variales aumentas el valor de tu "contador de filas" M5 usando AUMENTO=M5+1 M5=AUMENTO Por supuesto que antes declaraste la variable AUMENTO como numérica. A ver si con eso sale bien! |
| |||
Re: boton en excel para meter datos en otra hoja con un input box Esta sentencia me da error en el igual antes de concatenar : Hoja6.Range(=CONCATENAR("A3";M5)).Value = matricula, no se xk puede ser, muxas gracias |
| |||
Re: boton en excel para meter datos en otra hoja con un input box Muchas gracias, ya me funciona el salto de fila, pero solo te molesto una vez mas: para insertar los datos en otra hoja? porque el boton lo tengo en la hoja1 y los datos los kiero insertar en la hoja6. muxas gracias y ya no molesto mas |
| ||||
Re: boton en excel para meter datos en otra hoja con un input box Simplemente añade esta línea al comienzo de esas líneas que te acabo de poner:
Código:
Esa línea debe ir justo encima de esta otra:Hoja6.Select
Código:
De esa forma, todo lo que hagas de ahí en adelante, estará referenciado a la Hoja6. Si posteriormente quieres hacer algo con otra hoja, simplemente tendrás que seleccionarla de la misma forma que te he puesto aquí.Range("B3").select Por ejemplo, si al finalizar, quieres volver a la hoja 1, pon esto después de la última línea que te puse en el post anterior:
Código:
Salu2Hoja1.Select PD: Si quieres que no se vea el "movimiento" de pantallas (el refresco constante de la pantalla, a medida que se van haciendo las cosas), pon esta otra línea al principio de tu macro (la primera línea):
Código:
y como última línea del macro, pon esta:Application.ScreenUpdating = False
Código:
Application.ScreenUpdating = True |
| |||
Re: boton en excel para meter datos en otra hoja con un input box probaste sacando el signo de = ??? |
| |||
boton en excel para meter datos en otra hoja con un input box Buenos días. Necesito ayuda sobre una asuntillo, Tengo una hoja 3 que está referenciada a un boton y cuando hago click el codigo falla si me voy a la hoja 4 el codigo funciona....pero si ejecuto el boton desde la macro en la hoja de codigo no desde el boton de la hoja. Adjunto codigo: Private Sub CommandButton2_Click() Dim Cliente As String Dim Obra As String Dim Lugar As String Dim Fecha As String Dim Proyecto As String Dim Informe As String Dim strMsg As String Cliente = InputBox("Inserte Nombre Cliente:", "Nuevo informe") Obra = InputBox("Inserte Obra:", "Nuevo informe") Lugar = InputBox("Inserte Lugar del ensayo:", "Nuevo informe") Fecha = InputBox("Inserte fecha de realizacion del ensayo:", "Nuevo informe") Proyecto = InputBox("Inserte Proyecto:", "Nuevo informe") strMsg = "ha creado informe " & Cliente & ", " & Fecha & " ha sido creado" MsgBox strMsg Dim hoja As Worksheet Dim celda As Characters For Each hoja In Sheets Hoja3.Range("I10") = Cliente Hoja3.Range("CC10") = Informe Hoja3.Range("G15") = Obra Hoja3.Range("AW15") = Lugar Hoja3.Range("BZ15") = Fecha Hoja3.Range("K20") = Proyecto Next hoja Application.ScreenUpdating = False Hoja4.Range("C4").Select ' aqui es donde me falla Do While Not IsEmpty(ActiveCell) 'Pues eso, hasta que no encuentre una fila 'vacía que baje una fila para abajo ActiveCell.Offset(1, 0).Select Loop ActiveCell = Cliente '================================================= ===================== Hoja4.Range("G4").Select Do While Not IsEmpty(ActiveCell) 'Pues eso, hasta que no encuentre una fila 'vacía que baje una fila para abajo ActiveCell.Offset(1, 0).Select Loop ActiveCell = Obra '================================================= ===================== Hoja4.Range("I4").Select Do While Not IsEmpty(ActiveCell) 'Pues eso, hasta que no encuentre una fila 'vacía que baje una fila para abajo ActiveCell.Offset(1, 0).Select Loop ActiveCell = Lugar '================================================= ===================== Hoja4.Range("K4").Select Do While Not IsEmpty(ActiveCell) 'Pues eso, hasta que no encuentre una fila 'vacía que baje una fila para abajo ActiveCell.Offset(1, 0).Select Loop ActiveCell = Fecha '================================================= ===================== Hoja4.Range("M4").Select Do While Not IsEmpty(ActiveCell) 'Pues eso, hasta que no encuentre una fila 'vacía que baje una fila para abajo ActiveCell.Offset(1, 0).Select Loop ActiveCell = Proyecto '================================================= ===================== Application.ScreenUpdating = True End Sub |
| |||
Respuesta: boton en excel para meter datos en otra hoja con un input box Hello everybody!! ¿Alguien me puede ayudar con esto? He creado con ayuda del foro una macro en excel que permite ir copiando una fila de tal forma que se vaya almacenando según doy un botón. Lo malo es que al contener el comando 'AtiveCell' es necesario que yo seleccione la celda inicialmente. ¿Hay alguna manera para que esta acción no sea necesaria? ¡¡Muchas gracias!! Sub Macrooooo() Range("A1:F1").Select Selection.Copy Sheets("Hoja2").Select Do While Not IsEmpty(ActiveCell) ActiveCell.Offset(1, 0).Select Loop ActiveSheet.Paste Sheets("Hoja1").Select Application.CutCopyMode = False End Sub |