Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Ofimática (http://www.forosdelweb.com/f90/)
-   -   duda en macro de excel (http://www.forosdelweb.com/f90/duda-macro-excel-584348/)

GEMO 08/05/2008 12:09

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

abrahamvj 09/05/2008 12:51

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

GEMO 09/05/2008 13:25

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

abrahamvj 09/05/2008 15:08

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

GEMO 13/05/2008 07:49

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 :aplauso:


La zona horaria es GMT -6. Ahora son las 20:54.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.