Ayuda con macro excel por favor

Hola, que tal, es mi primera vez, soy nuevo aquí... Tengo que hacer una
practica que consta de 3 partes, la practica va de una "base de datos"
De un hospital donde hay que insertar pacientes con una serie de datos
(CodigoPaciente,Nombre...-->Hoja1), (Hoja2-->listado de urgencias
con CodigoUrgencia,CodigoPaciente_FK) yo necesito coger algunos datos i
sacar un informe, el caso es q no se como coger los datos de la
Hoja1iHoja2 para hacer el informe.
Tambien tengo que imprimir el informe.
Consultar tipo de pruebas diagnosticadas entre dos fechas.
Y Hacer el historial de un medico i de un paciente:
5

5 respuestas

Respuesta
1
Como estas dhll, lo primero que tienes que tener en claro es la fuente de datos por lo que me decís proviene desde una BBDD( base de datos ) lo que es lo más profesional que podes hacer, para eso están las BBDD, bueno estando ahí parado tienes que diseñar el informe es decir de que forma debes presentar los datos.
Una vez en este punto debes manejar las opciones de presentar este informe, o bien por programación o en una hoja de cálculo... no te preocupes con Excel podes hacer de todo aunque para algunas situaciones es mejor usar otras aplicaciones, no te olvides que esto son hojas de cálculo...
Finalmente el tema de la impresión también es importante ya que es como nos quedara el informe final representado aquí es donde poder manejar las consultas entre un periodo de fechas o según que medico o paciente.
Como creo que eres estudiante o eso parece decime vos de que forma lo encaramos...
Los datos de una hoja hacia otra se trasladan haciendo referencia a la hoja y celda de los datos que quieres traer es decir si estas en la hoja2 y quieres traer datos de la hoja1 solo debes hacer = hoja1! D9
Trabajar con fechas es como trabajar con números ya que Excel evalúa las fechas por el calendario juliano es decir cada fecha es un número.
Lo que si tiene muchas posibilidades son las consultas se pueden hacer de varias formas y hay muchas fórmulas para trabajar con ellas
Espero haberte abierto el panorama un poco, si me explicas o me envías ejemplo podemas aclarar más el tema.
Si me mandas el mail o me das tu messenger te lo mando i lo veras mucho más claro, no lo cojo de una base de datos, en la hoja1 ("Pacientes") tengo unos datos de unos pacientes, en la hoja2("Urgencias") tengo datos de urgencias i en la tercera("Auxiliar") tengo el informe i otras operaciones que necesitaré... no se si me explico muy bien, pero es que por aquí es un poco rollazo, un saludo
¿Bueno mira mi correo es [email protected] mandame el archivo así lo miramos ok?
mandado a tu mail ;)
Ya te enviado el archivo hacele algunas pruebas y decime algo...
Dime cosas fenómeno cuando estés en el pc
Como esta David bueno ayer tuve visitas en casa y no he podido ponerme en el tema pero hoy si, bueno mira estuve viendo un poco la situación, se me ocurrió generar un listado con los tipos de análisis que manejamos, pero el listado debe ir condicionado primero por el rango de fechas para que no haga recorridos que no correspondan y otra cosa debe ir condicionado a si ocurrió el análisis o no es decir "SI" o "NO" me seguís...
Bueno aquí el problema el listado generará por ejemplo listados distintos según el rango de fechas y análisis efectuados.
Por ejemplo: si yo pediría el rango de fechas 08/07/2009 - 08/07/2009 en el combobox tipo solo aparecerá el análisis tipo Radiografía por que por que los otros análisis no se efectuaron en el rango de fechas solicitados, aunque en la realidad esto seguro que no es así pero es para programar como debe ser, creo haberme explicado bien; por que hago esto... bueno para que no haga recorridos no válidos y otra para que genere tipos de análisis no ocurridos.
¿Te quedo... bueno saludos y dentro de un rato te lo envío que ahora estoy un poco liado ok?
Te pediría que me cierres la pregunta please
Respuesta
1
Veo que son varias cosas las que planteaste y necesitaría dos cosas para poder ayudarte, una es tratar los puntos de a uno y la otra un poco más de datos. Así que voy a hacerte algunas preguntas, responde las que puedas por favor.
1) En el titulo hablas de Macros ¿Qué grado de conocimiento tienes de ellas o de programar en VBA?
2) ¿Ya has programado algo en la planilla que deseas hacer? ¿O está sin comenzar?
3) ¿La inserción de datos en la Hoja 1 es a través de un Formulario (UserForm)? ¿Manual?
4) ¿De dónde se toma la Lista de Urgencias de la Hoja 2?
5) En la Hoja 2 ¿cómo quieres tomar los datos de la Hoja 1? ¿Con validación? ¿Macro (programación)?
6) ¿Cómo es el Informe?
Bueno eso para empezar.
Tengo un conocimiento muy básico en macros.
Si, ya he programado cosillas.
La inserción en la Hoja1 i en la Hoja 2 es a través de un form i ya esta hecho
El informe es un informe que tengo ya puesto.
Si quieres dame tu messenger, gtalk o mail i hablamos mejor por allí que por aquí... un saludo
Ok, te paso el msn, [email protected]
mandado a tu mail ;)
Ya te he enviado un ejemplo por mail.
Respuesta
Si no eres más explicito con lo que necesitas no puedo ayudarte.. me preguntas muchas cosas tan abstractas que tengo que dar por supuesto muchas cosas que a lo mejor no se ajustan a la realidad de tu problema. Así que si me redactas lo que necesitas más concienzudamente, te podré ayudar, si necesitas enviarme algún excel de prueba hazlo a [email protected]
Respuesta
-1
Si necesitas información en la hoja2 "Listado de urgencias" puedes utilizar la función BUSCARV para encontrar los datos de la hoja1.
Por ejemplo con Cod_paciente en hoja 2. Podes buscar el nombre del paciente usando su código. Busca completar los datos necesarios en la hoja 2. Y con estos datos combinados de la hoja 1 y la hoja 2 crea una tabla dinámica.
El BUSCARV tiene 4 partes. Valor buscado: sig. el ej. cod_paciente de la hoja2; matriz_buscar_en: la tabla que tiene los datos del paciente, es decir, cod 1, nombre: Liz, Grupo_sanguineo:A, etc. recuerda que la primera columna de la matriz es la que se machea con el valor buscado; nro_de_columna: posición de la columna a devolver de la matriz (siguiendo con el ej seria el nro '2' si deseo el nombre, el nro '3' si quisieras el grupo sanguíneo); ordenado : falso coincidencia exacta, verdadero escalas o aproximaciones.
Necesito hacerlo con una macro, no con buscarv, ya he hecho lo de buscar el código paciente, compararlo i me lo introduce en la celda que quiero, ahora lo que me falta es desplazarme por las celdas de la derecha que contienen nombre, apellidos, etc para poder coger sus datos i ponerlos en el informe, pero creo que no has entendido muy bien lo que busco... si tuvieras messenger o gmail para mandarte el archivo i me pudieras ayudar... un saludo i gracias
'
'Para desplazarte en una hoja de Excel, recuerda que cada hoja es una matriz.
'
'Una matriz de 65536 filas y 256 columnas (v. 2003). Por ejemplo el valor que deseo esta en la celda B5, el codigo seria el sgte.
Sub traer_dato()
Dim var_buscada As Variant 'o string o... (de acuerdo al tipo de dato)
Worksheets(2).Activate 'indice de la hoja o nombre de la hoja. Para el nombre entre ""
var_buscada = Cells(5, 2) 'var buscada es igual a celda B5, fila 5 columna 2
MsgBox (var_buscada) 'muestra en un box el valor de var_buscada
End Sub
'Para desplazarte ya sea en filas o columnas puedes usar un ciclo.
'Por ej.
Sub traer_ciclo()
Dim columna As Integer
Dim aux As Variant
For columna = 5 To 10
aux = Worksheets("Hoja1").Cells(1, columna)
'realiza las acciones que deseas, en mi caso copia a hoja2, en la fila 3
Worksheets("Hoja2").Cells(3, columna).Value = aux
Next columna
End Sub
Respuesta
-1
Lo siento pero tu pregunta es muy general. Lo que necesitas es un conjunto de rutinas para manejar las planillas de Excel. En primer lugar no entiendo muy bien cual es la estructura de las planillas, ademas no esta muy claro cuales son las salida que necesitas. En resumen pued eque le tema no sea difícil pero requiere tiempo y muchas lineas de código. Una recomendación que puedo hacerte es que uses Access, de esta manera te ahorraras mucho tiempo en programar y tu estructura de datos sera mucho más solida.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas