Foros del Web » Soporte técnico » Ofimática »

boton en excel para meter datos en otra hoja con un input box

Estas en el tema de boton en excel para meter datos en otra hoja con un input box en el foro de Ofimática en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 27/04/2008, 06:00
 
Fecha de Ingreso: abril-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
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
  #2 (permalink)  
Antiguo 27/04/2008, 11:10
gmansi
Invitado
 
Mensajes: n/a
Puntos:
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?
  #3 (permalink)  
Antiguo 27/04/2008, 11:33
 
Fecha de Ingreso: abril-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
Re: boton en excel para meter datos en otra hoja con un input box

Cita:
Iniciado por gmansi Ver Mensaje
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?
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
  #4 (permalink)  
Antiguo 27/04/2008, 16:47
gmansi
Invitado
 
Mensajes: n/a
Puntos:
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!
  #5 (permalink)  
Antiguo 28/04/2008, 03:51
 
Fecha de Ingreso: abril-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
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
  #6 (permalink)  
Antiguo 28/04/2008, 04:21
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Re: boton en excel para meter datos en otra hoja con un input box

Haz esto:
Código:
'Seleccionamos la celda B3
Range("B3").select
'hasta que no encuentre una fila vacía...
Do While Not IsEmpty(ActiveCell)
 'que vaya bajando una fila
       ActiveCell.Offset(1,0).select
Loop
'como ahora ya estamos en la fila vacía,
'solo nos queda escribir los datos:
Activecell = matricula
'pasamos a la siguiente columna
Activecell.offset(0,1)=marca
'pasamos a la siguiente columna
Activecell.offset(0,2)=modelo
'pasamos a la siguiente columna
Activecell.offset(0,3)=categoria
'pasamos a la siguiente columna
Activecell.offset(0,4)=combustible
'pasamos a la siguiente columna
Activecell.offset(0,5)=aceite 
Salu2
  #7 (permalink)  
Antiguo 28/04/2008, 04:49
 
Fecha de Ingreso: abril-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
De acuerdo 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
  #8 (permalink)  
Antiguo 28/04/2008, 05:01
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
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:
Hoja6.Select
Esa línea debe ir justo encima de esta otra:
Código:
Range("B3").select
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í.

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:
Hoja1.Select
Salu2

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:
Application.ScreenUpdating = False
y como última línea del macro, pon esta:
Código:
Application.ScreenUpdating = True
  #9 (permalink)  
Antiguo 28/04/2008, 05:14
 
Fecha de Ingreso: abril-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
De acuerdo Re: boton en excel para meter datos en otra hoja con un input box

Muchas gracias por la ayuda, ahora me funciona perfectamente. Para otra duda no dudare en venir a este foro, gracias
  #10 (permalink)  
Antiguo 28/04/2008, 05:23
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Re: boton en excel para meter datos en otra hoja con un input box

De nada. Por aquí estaremos unos cuantos, dispuestos a ayudar en lo que sepamos.

Salu2
  #11 (permalink)  
Antiguo 29/04/2008, 14:29
gmansi
Invitado
 
Mensajes: n/a
Puntos:
Re: boton en excel para meter datos en otra hoja con un input box

Cita:
Iniciado por kalaos7 Ver Mensaje
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
probaste sacando el signo de = ???
  #12 (permalink)  
Antiguo 29/04/2008, 14:30
gmansi
Invitado
 
Mensajes: n/a
Puntos:
Re: boton en excel para meter datos en otra hoja con un input box

Cita:
Iniciado por 3pies Ver Mensaje
De nada. Por aquí estaremos unos cuantos, dispuestos a ayudar en lo que sepamos.

Salu2
Y aprendemos de paso!

Tu solución está muy buena.

  #13 (permalink)  
Antiguo 14/07/2010, 03:05
 
Fecha de Ingreso: julio-2010
Mensajes: 1
Antigüedad: 13 años, 9 meses
Puntos: 0
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
  #14 (permalink)  
Antiguo 24/08/2012, 11:13
 
Fecha de Ingreso: agosto-2012
Mensajes: 1
Antigüedad: 11 años, 7 meses
Puntos: 0
Pregunta 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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:34.