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

Ayuda para crear macro de excel

Estas en el tema de Ayuda para crear macro de excel en el foro de Ofimática en Foros del Web. hola a todos. bueno, vengo pidiendoles ayuda para saber hacer ciertas cosas en VBA y poder armar una macro que me permita automatizar una hoja ...
  #1 (permalink)  
Antiguo 16/09/2009, 21:43
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Ayuda para crear macro de excel

hola a todos.

bueno, vengo pidiendoles ayuda para saber hacer ciertas cosas en VBA y poder armar una macro que me permita automatizar una hoja de excel, tratare de explicarme lo mejor posible para que me ayuden.

Tengo una hoja de excel que se va llenando a partir de la informacion de otra hoja que contiene toda la informacion. Para realizar esto primero utilizaba el filtro y lo hacia a mano, despues empece a usar formulas que automatizaron parte del trabajo pero hay una parte de la hoja que no se como automatizar, requiero filtrar fechas, de cierta fecha a otra, el detalle es que esta fecha cambia cada semana, ademas de que no solo se filtra la fecha, tambien otra columna llamada clasificacion y otra columna llamada estado y este filtro se realiza para cada clasificacion y cada estado disponible, creo que si me dicen como hacer estos filtros desde macros VBA podre automatizar toda la tabla sin necesidad de usar formulas directas, la verdad no tengo idea de como hacer esto desde VBA, es poco lo que he leido de VBA y no me sirve para lo que quiero ya que necesito saber la sentencia de codigo para recorrer las celdas de una columna y realizar comparaciones (usar IF), debo decir que se programar en c# y c++ y se usar bucles y comparaciones pero no se como se manejan las celdas de una hoja de excel desde VBA (Ademas de que no se VBA).

Bueno muchas gracias y disculpen mi larga explicacion, espero me entiendan y sino pues diganme que no entienden o si quieren les mande el archivo de excel que necesito automatizar con macros.
  #2 (permalink)  
Antiguo 17/09/2009, 11:34
Avatar de julita_punch  
Fecha de Ingreso: abril-2007
Ubicación: Lima - Peru
Mensajes: 505
Antigüedad: 17 años
Puntos: 4
Respuesta: Ayuda para crear macro de excel

a lo mejor esto te ayuda

http://hojas-de-calculo-en-excel.blo...-en-excel.html
__________________
Julita Borda Hokama
a lo mejor esto ayuda
  #3 (permalink)  
Antiguo 17/09/2009, 20:55
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Respuesta: Ayuda para crear macro de excel

gracias aunque ya se como hacer lo que necesito, en si esta simple, ahora solo falta afinar detalles y checar que funcione correctamente, de cualquier modo vere la pagina, seguro algo de ahi me servira para aprender mas sobre macros (sobre todo aprender dependiendo de las necesidades que vaya teniendo).
  #4 (permalink)  
Antiguo 21/09/2009, 12:49
Colaborador
 
Fecha de Ingreso: agosto-2004
Mensajes: 1.611
Antigüedad: 19 años, 8 meses
Puntos: 47
Respuesta: Ayuda para crear macro de excel

Prueba usando la grabadora de macros, para "ver" los detalles...
Inicia la grabadora de macros...
Intenta hacer lo que deseas modificar en la hoja...
Detén la grabadora de macros....
Revisa la macro creada...observa las instrucciones creadas a partir de lo que hiciste y podrás ir "ajustando" la macro deseada...
saludos...
  #5 (permalink)  
Antiguo 22/09/2009, 12:10
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Respuesta: Ayuda para crear macro de excel

Ahora necesito hacer otra cosa, ya intente usando la grabadora de macros y no funciona:

Necesito copiar cierto rango de celdas de un archivo a otro, ejemplo del archivo original.xls a copia.xls, original tiene los datos y la idea es usando una macro copiar esos rangos de celdas y pegarlos en cierto rango de celdas del archivo copia.xls. Espero puedan ayudarme. Gracias.
  #6 (permalink)  
Antiguo 22/09/2009, 12:38
Colaborador
 
Fecha de Ingreso: agosto-2004
Mensajes: 1.611
Antigüedad: 19 años, 8 meses
Puntos: 47
Respuesta: Ayuda para crear macro de excel

¿Cómo que no funciona la grabadora de Macros?
Esto lo hice con la grabadora, es lo que buscas...
Sub Macro1()
'
' Macro1 Macro
' Macro grabada el 22/09/2009
'
'
Range("E1386:I1393").Select
Selection.Copy
Sheets("Hoja1").Select
Range("C4").Select
ActiveSheet.Paste
End Sub

"Afina" los detalles para lo que necesitas...
Saludos...
  #7 (permalink)  
Antiguo 22/09/2009, 12:45
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Respuesta: Ayuda para crear macro de excel

A mi nomas me mostraba el codigo para pegar pero no el de copiar (recordando que estaba copiando las celdas de otro archivo). De cualquier modo, no es lo que necesito. Segun he leido necesito abrir una conexion como si fuera a hacer una consulta a una base de datos excel, ya estoy en eso, aunque al parecer el excel que tengo no trae el ADO para manejo de bases de datos.
  #8 (permalink)  
Antiguo 22/09/2009, 13:32
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Respuesta: Ayuda para crear macro de excel

Ya supe como habilitar el adodb, gracias, cualquier otra duda la pondre aqui.
  #9 (permalink)  
Antiguo 23/09/2009, 12:01
 
Fecha de Ingreso: abril-2009
Mensajes: 341
Antigüedad: 15 años
Puntos: 3
Respuesta: Ayuda para crear macro de excel

bueno aqui estoy denuevo pidiendo ayuda para la misma macro, ya hice que medio funcionara pero tiene un defecto, no me copia celdas con numeros o fechas o si las copia les pone valores del tipo FX (donde X es 1,2,3,...), dejo el codigo que estoy usando para que me digan por que falla.

Código:
Sub leer_archivo_excel()
Application.ScreenUpdating = False
On Error Resume Next
ruta = ThisWorkbook.Path
fichero = "EJEMPLO2.xls"
Set Conn = New ADODB.Connection
Conn.Open "DRIVER={Microsoft Excel Driver (*.xls)};DBQ=" & ruta & "\" & fichero
Set rs = New ADODB.Recordset
Sql = "SELECT * FROM A1:AN7"
rs.Open Sql, Conn, adOpenStatic, adLockOptimistic
Range("A2").Select
Dim cont1 As Integer
Do While Not rs.EOF
cont1 = 0
Do While cont1 <= 40
ActiveCell.Offset(0, cont1) = rs(cont1)
cont1 = cont1 + 1
Loop
rs.MoveNext
ActiveCell.Offset(1, 0).Select
Loop
rs.Close
Conn.Close
Set rs = Nothing
Set Conn = Nothing
Application.ScreenUpdating = True
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 17:57.