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

duda en macro de excel

Estas en el tema de duda en macro de excel en el foro de Ofimática en Foros del Web. lo que intento es lo siguiente en base a unos imputbox estoy guardando unos reportes de alumnos pero tengo una hoja por alumno en la ...
  #1 (permalink)  
Antiguo 08/05/2008, 12:09
Avatar de GEMO  
Fecha de Ingreso: julio-2007
Ubicación: Guadalajara
Mensajes: 110
Antigüedad: 16 años, 9 meses
Puntos: 3
Pregunta duda en macro de excel

lo que intento es lo siguiente en base a unos imputbox estoy guardando unos reportes de alumnos pero tengo una hoja por alumno en la cual le di por nombre el registro del alumno,de que manera puedo hacer que al comparar la variable donde escriba el registro los datos se guarden en la hoja igual al valor de la variable. esta es parte de mi codigo espero su apoyo

dim al as integer

al = InputBox("Alumno", "Alumno")
falta= InputBox("Tipo de falta:", "especificar")
lugar = InputBox("Lugar donde se sucito:", "especificar")
reporto = InputBox("quien reporto:", "especificar")
fecha = InputBox("fecha de reporte:", "fecha")
strMsg = "Su reporte fue creado"
MsgBox strMsg



hoja(al).Select


Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop

ActiveCell = falta
ActiveCell.Offset(0, 1) = lugar
ActiveCell.Offset(0, 2) = reporto
ActiveCell.Offset(0, 3) = fecha
  #2 (permalink)  
Antiguo 09/05/2008, 12:51
Avatar de abrahamvj  
Fecha de Ingreso: julio-2006
Ubicación: Lima, Peru
Mensajes: 708
Antigüedad: 17 años, 9 meses
Puntos: 18
Re: duda en macro de excel

Siguiendo tus mismos parametros, y suponiendo que, tal y como tu dices, las hojas tienen nombres:

dim al as string

al = InputBox("Alumno", "Alumno")
falta= InputBox("Tipo de falta:", "especificar")
lugar = InputBox("Lugar donde se sucito:", "especificar")
reporto = InputBox("quien reporto:", "especificar")
fecha = InputBox("fecha de reporte:", "fecha")
strMsg = "Su reporte fue creado"
MsgBox strMsg

Sheets(al).Select

[A1].select

Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop

ActiveCell = falta
ActiveCell.Offset(0, 1) = lugar
ActiveCell.Offset(0, 2) = reporto
ActiveCell.Offset(0, 3) = fecha

OJO, no digo que lo que este haciendo sea lo ideal, solo he seguido tus misma spautas.

Abraham
  #3 (permalink)  
Antiguo 09/05/2008, 13:25
Avatar de GEMO  
Fecha de Ingreso: julio-2007
Ubicación: Guadalajara
Mensajes: 110
Antigüedad: 16 años, 9 meses
Puntos: 3
Re: duda en macro de excel

Gracias Abraham mira mi codigo completo es este claro sin hacer la comparación del registro para ponerlo en la hoja correspondiente entonces en la linea Hoja1.select yo quiero sustituir Hoja"(variable)".select donde la variable contiene el nombre de la hoja esto para que cada que inrete el registro del alumno la demas información se vaya a la hoja correspondiente al menos esa es mi idea aunque creo que no es la forma de hacerlo gracias de nuevo

Private Sub CommandButton1_Click()
Dim falta As String
Dim lugar As String
Dim reporto As String
Dim fecha As String
falta = InputBox("Tipo de falta:", "especificar")
lugar = InputBox("Lugar donde se sucito:", "especificar")
reporto = InputBox("quien reporto:", "especificar")
fecha = InputBox("fecha de reporte:", "fecha")
strMsg = "Su reporte fue creado"
MsgBox strMsg

Hoja1.Select

Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell = falta
ActiveCell.Offset(0, 1) = lugar
ActiveCell.Offset(0, 2) = reporto
ActiveCell.Offset(0, 3) = fecha
End Sub
  #4 (permalink)  
Antiguo 09/05/2008, 15:08
Avatar de abrahamvj  
Fecha de Ingreso: julio-2006
Ubicación: Lima, Peru
Mensajes: 708
Antigüedad: 17 años, 9 meses
Puntos: 18
Re: duda en macro de excel

Listo, como ya dije antes, no es lo optimo, pero segui tus parametros y te servira:

Private Sub CommandButton1_Click()
Dim hoja As String
Dim falta As String
Dim lugar As String
Dim reporto As String
Dim fecha As String

hoja = InputBox("Coloca el nombre de la hoja", "Hoja")
falta = InputBox("Tipo de falta:", "especificar")
lugar = InputBox("Lugar donde se sucito:", "especificar")
reporto = InputBox("quien reporto:", "especificar")
fecha = InputBox("fecha de reporte:", "fecha")
strMsg = "Su reporte fue creado"
MsgBox strMsg

Worksheets(hoja).Select

Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell = falta
ActiveCell.Offset(0, 1) = lugar
ActiveCell.Offset(0, 2) = reporto
ActiveCell.Offset(0, 3) = fecha
End Sub

Abraham
  #5 (permalink)  
Antiguo 13/05/2008, 07:49
Avatar de GEMO  
Fecha de Ingreso: julio-2007
Ubicación: Guadalajara
Mensajes: 110
Antigüedad: 16 años, 9 meses
Puntos: 3
De acuerdo Re: duda en macro de excel

Gracias Abraham se que no es lo optimo pero la verdad no tengo mucho trabajando com macros y conforme voy avanzando voy aprndiendo gracias a su ayuda.
Gracias de nuevo
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 13:07.