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

Macro: problema de ejecucion

Estas en el tema de Macro: problema de ejecucion en el foro de Ofimática en Foros del Web. señores, como les va, disculpen la molestia, necesito su ayuda. voy a explicar lo que necesito y lo que busque. tengo un documento de excel, ...
  #1 (permalink)  
Antiguo 22/07/2011, 15:01
Avatar de aprendiz_82  
Fecha de Ingreso: diciembre-2002
Ubicación: algun lugar....
Mensajes: 536
Antigüedad: 21 años, 10 meses
Puntos: 1
Pregunta Macro: problema de ejecucion

señores, como les va, disculpen la molestia, necesito su ayuda.

voy a explicar lo que necesito y lo que busque.

tengo un documento de excel, en el cual tengo 7 hojas, cada una tiene el nombre de una persona, en cada hoja hay titulos como por ejemplo:

fecha, estatus, observasiones, etc.

la ultima hoja se llama: Pendientes

la idea es que los datos de las filas de cada hoja, en las que el estatus es: "abierto", se copien en la hoja: Pendientes, ya que hay filas en las que el estatus es: "cerrado".

en base a esto, busque en internet y encontre 2 codigos para unas macros.
en el primer codigo, al ejecutarlo me da el error: 1004 y me señala la fila que dice:ActiveCell.Offset(1).Select

el codigo lo tome de aqui: http://www.todoexpertos.com/categori...a-varias-hojas

espero me puedan ayudar, ya que esto me ayudaria mucho a consolidar los datos en la Hoja Pendientes, tomados de las otras hojas.

Código:
Sub Mandadato()
'
Dim x As Object
Dim sname, origname As String

origname = ActiveSheet.Name
sname = ActiveCell.Value

On Error Resume Next
Set x = ActiveWorkbook.Sheets(sname)
If Err <> 0 Then
MsgBox "No existe hoja con el nombre elegido: " & sname, vbCritical, "ERROR DE NOMBRE"
Exit Sub
End If
On Error GoTo 0
Selection.CurrentRegion.Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets(sname).Select

Range("A1").Select '<- Chofi, Reemplaza esta celda con la primera ocupada que tengas en la hoja de destino.

Selection.End(xlDown).Select
ActiveCell.Offset(1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Sheets(origname).Select
End Sub
__________________
El Poder De Uno , El Poder De Todos:pirata:
Que Pasa
Femenina Online
  #2 (permalink)  
Antiguo 22/07/2011, 15:05
Avatar de aprendiz_82  
Fecha de Ingreso: diciembre-2002
Ubicación: algun lugar....
Mensajes: 536
Antigüedad: 21 años, 10 meses
Puntos: 1
Pregunta Respuesta: Macro: problema de ejecucion

quisiera plantear otra consulta, disculpen la ignorancia.

encontre otro ejemplo, pero hay un problema, los datos que estan ordenados de manera horizontal, este codigo los copia a la ultima pagina pero de manera vertical.

Código:
Sub mandardatos()

Sheets("Pendientes").Select
Range("2:1").Select
Selection.Insert
Sheets("Josue").Select
Range("F6:A2").Select
Selection.Copy
Sheets("Pendientes").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Sheets("Josue").Select
Range("F6:A2").Select
Application.CutCopyMode = False


End Sub
el codigo lo tome de aqui: http://www.todoexpertos.com/categori...a-excel-a-otra
__________________
El Poder De Uno , El Poder De Todos:pirata:
Que Pasa
Femenina Online
  #3 (permalink)  
Antiguo 22/07/2011, 17:27
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 7 meses
Puntos: 88
Respuesta: Macro: problema de ejecucion

Quizás en lugar de mostrarnos códigos que no puedes adaptar a lo tuyo, sería mejor que subas una muestra de lo que tienes.

¡Será mucho más sencillo ayudarte de ese modo!
Saludos, Cacho R.
  #4 (permalink)  
Antiguo 22/07/2011, 23:54
Avatar de aprendiz_82  
Fecha de Ingreso: diciembre-2002
Ubicación: algun lugar....
Mensajes: 536
Antigüedad: 21 años, 10 meses
Puntos: 1
Respuesta: Macro: problema de ejecucion

ok, aqui va un ejemplo.

se supone que el libro tiene varias hojas con varios nombres, los que corresponden a varias personas que comparten el archivo y lo llenan cada dia en su respectiva hoja.

la idea es tomar los datos con el estatus: abierto
de cada hoja, y ponerlos al final en la hoja: pendientes
esto se debe hacer cada dia.

es para mostrar un pequeño reporte diario.

http://www.mediafire.com/?f5mjmtemx5vh75u
__________________
El Poder De Uno , El Poder De Todos:pirata:
Que Pasa
Femenina Online
  #5 (permalink)  
Antiguo 23/07/2011, 11:41
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 7 meses
Puntos: 88
De acuerdo Respuesta: Macro: problema de ejecucion

Una opción podría ser:

http://www.mediafire.com/?ldst098tq14ntwz

Saludos, Cacho R.
  #6 (permalink)  
Antiguo 23/07/2011, 23:12
Avatar de aprendiz_82  
Fecha de Ingreso: diciembre-2002
Ubicación: algun lugar....
Mensajes: 536
Antigüedad: 21 años, 10 meses
Puntos: 1
Respuesta: Macro: problema de ejecucion

mi estimado, eres un maestro, ahora me gustaria pedirte una favor.
si no es molestia me podrias dar una explicación del codigo, para tratar de entenderlo y aprender.

y algo mas: como pones botones...??? o al indicarlo en el codigo se va de una vez...???

saludos.-
__________________
El Poder De Uno , El Poder De Todos:pirata:
Que Pasa
Femenina Online
  #7 (permalink)  
Antiguo 24/07/2011, 09:01
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 7 meses
Puntos: 88
De acuerdo Macro: problema de ejecucion

Para el tema de ejecutar una macro puedes leer:

-> Ejecutar una macro (Excel 2010)

-> Ejecutar una macro (Excel 2007)

-> Ejecutar una macro (Excel 2003)

En cuanto a explicarte que hace cada línea del código: pues la verdad que hacer esa macro me llevó los "3 a 7 minutos de rigor". Pero explicártelo me podría llevar horas...

Por lo tanto te sugiero que hagas lo más práctico: en Google busca "Manual de macros de Excel gratis", y verás de ellos por decenas: así es como comenzamos todos, mi estimado.
Saludos, Cacho R.
  #8 (permalink)  
Antiguo 24/07/2011, 18:03
Avatar de aprendiz_82  
Fecha de Ingreso: diciembre-2002
Ubicación: algun lugar....
Mensajes: 536
Antigüedad: 21 años, 10 meses
Puntos: 1
Respuesta: Macro: problema de ejecucion

ok, muchas gracias...!!!
__________________
El Poder De Uno , El Poder De Todos:pirata:
Que Pasa
Femenina Online
  #9 (permalink)  
Antiguo 26/07/2011, 08:24
Avatar de Monimo  
Fecha de Ingreso: noviembre-2007
Ubicación: Mexico Df
Mensajes: 742
Antigüedad: 17 años
Puntos: 69
Respuesta: Macro: problema de ejecucion

Cita:
Iniciado por aprendiz_82 Ver Mensaje
quisiera plantear otra consulta, disculpen la ignorancia.

encontre otro ejemplo, pero hay un problema, los datos que estan ordenados de manera horizontal, este codigo los copia a la ultima pagina pero de manera vertical.

Código:
Sub mandardatos()

Sheets("Pendientes").Select
Range("2:1").Select
Selection.Insert
Sheets("Josue").Select
Range("F6:A2").Select
Selection.Copy
Sheets("Pendientes").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True // Transpose true quiere decir que lo que esta horizontal lo pegue vertical y al reves lo unico q deberías haber hecho es ponerle un False aquí...
Sheets("Josue").Select
Range("F6:A2").Select
Application.CutCopyMode = False


End Sub
el codigo lo tome de aqui: http://www.todoexpertos.com/categori...a-excel-a-otra
__________________
La verdad es que lo que no quisiera dejar de hacer nunca (a parte de comer) es programar
  #10 (permalink)  
Antiguo 29/07/2011, 10:19
Avatar de aprendiz_82  
Fecha de Ingreso: diciembre-2002
Ubicación: algun lugar....
Mensajes: 536
Antigüedad: 21 años, 10 meses
Puntos: 1
Pregunta Respuesta: Macro: problema de ejecucion

muchas gracias monimo.

tengo una pregunta, hay una linea:
Código:
[A2].CurrentRegion.Offset(2).Delete xlShiftUp
que por lo que he notado, borra 1 o 2 filas cada vez que inserta los datos de las otras hojas, lo que deseo saber es: como puede mantener la misma cantidad de filas, ni borrar ni agregar....???

saludos y gracias.
__________________
El Poder De Uno , El Poder De Todos:pirata:
Que Pasa
Femenina Online
  #11 (permalink)  
Antiguo 29/07/2011, 10:50
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 7 meses
Puntos: 88
Macro: problema de ejecucion

Para entender que significa esa línea, la tienes que analizar de izquierda a derecha. O sea:

¿Qué es [A2]?
¿Qué es [A2].CurrentRegion?
¿Qué es [A2].CurrentRegion.Offset(2)?
¿Qué es [A2].CurrentRegion.Offset(2).Delete?
¿Qué es [A2].CurrentRegion.Offset(2).Delete xlShiftUp?

Por lo tanto:
¿Podrías comentar -con tus propias palabras- que representa cada uno de los anteriores?...
(obviamente: me refiero a que comentes lo que conozcas para tener una base firme desde donde asesorarte adecuadamente).

Saludos, Cacho R.
  #12 (permalink)  
Antiguo 29/07/2011, 14:17
Avatar de aprendiz_82  
Fecha de Ingreso: diciembre-2002
Ubicación: algun lugar....
Mensajes: 536
Antigüedad: 21 años, 10 meses
Puntos: 1
Respuesta: Macro: problema de ejecucion

bueno mi estimado, la verdad aun no he logrado entender todo el codigo y lo que he logrado comprender no se si lo he comprendido correctamente.

lo unico que hice fue modificar un poco el codigo:
Código:
Option Explicit

Sub Consolidar()
'---------------------------
' By Cacho Rodríguez
'---------------------------
Dim mySh As Worksheet, NextRow As Long, qRows As Long
Application.ScreenUpdating = False
[A2].CurrentRegion.Offset(2).Delete xlShiftUp
For Each mySh In Worksheets
  If Not mySh Is ActiveSheet Then
    mySh.AutoFilterMode = False
    With mySh.[A2].CurrentRegion
      .AutoFilter 4, "open"
      NextRow = 1 + Cells(Rows.Count, "B").End(xlUp).Row
      .Offset(1).Copy Cells(NextRow, "B")
      qRows = WorksheetFunction.Subtotal(103, .Columns(5)) - 1
      If qRows > 0 Then Cells(NextRow, "A").Resize(qRows) = mySh.Name
    End With
    mySh.AutoFilterMode = False
  End If
Next
Cells.EntireColumn.AutoFit
Application.ScreenUpdating = True
End Sub
__________________
El Poder De Uno , El Poder De Todos:pirata:
Que Pasa
Femenina Online
  #13 (permalink)  
Antiguo 29/07/2011, 15:02
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 7 meses
Puntos: 88
Respuesta: Macro: problema de ejecucion

Mmmmm...
Yo sé que explicar es cansador y lleva su tiempo.

Sin embargo: ¿En verdad no sabes que es [A2] ni que es [A2].CurrentRegion?
  #14 (permalink)  
Antiguo 30/07/2011, 00:17
Avatar de aprendiz_82  
Fecha de Ingreso: diciembre-2002
Ubicación: algun lugar....
Mensajes: 536
Antigüedad: 21 años, 10 meses
Puntos: 1
Respuesta: Macro: problema de ejecucion

bueno, si se que es A2 y supongo que [A2].CurrentRegion me indica la celda A2 como ubicacion actual....!!!

desde ahi empieza a insertar la info...???!!!!
__________________
El Poder De Uno , El Poder De Todos:pirata:
Que Pasa
Femenina Online
  #15 (permalink)  
Antiguo 30/07/2011, 14:13
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 7 meses
Puntos: 88
De acuerdo Macro: problema de ejecucion

Fíjate que interesante, mi estimado, lo que acabas de comentar...
Pasado en limpio: ¡no tienes "ni idea" a que se le llama -dentro del Excel- Región actual!...

Por ello antes que hablar de macros, se hace necesario que comprendas este tema del Excel:

a) Abre el archivo del mensaje #5
b) Selecciona la celda A1 de la hoja "Pendientes"
c) Presiona la tecla F5
d) Y haz clic en: Especial --> Región Actual --> Aceptar

Mi pregunta es:
¿Vas comprendiendo -ahora- que es aquello a lo que llamamos la "región actual" asociada a la celda A1?

e) Carga -manualmente- datos en la fila "2" de esa misma hoja (no tiene importancia lo que escribas en cada una de las cuatro columnas).

f) Repite los pasos b), c) y d)

Mi pregunta es: ¿Has reforzado la comprensión de aquello a lo que llamamos la "región actual" asociada a la celda A1?

Saludos, Cacho R.
  #16 (permalink)  
Antiguo 05/10/2012, 15:24
 
Fecha de Ingreso: octubre-2010
Ubicación: Bucaramanga
Mensajes: 7
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta Respuesta: Macro: problema de ejecucion

Buenas tardes, he mirado el código y la verdad no entiendo como hace algo. Creo que se bastante de macros pero esto supera lo que conozco. Resulta que tengo un programa muy similar al que solucionaron aquí en el ejemplo, el problema es que en el momento en el que la hoja queda vacía (aquí la hoja "Juan" me genera un error debido a que no se puede calcular un subtotal si las celdas están vacías. Agradecería me colaboraras.

Saludos.
  #17 (permalink)  
Antiguo 06/10/2012, 23:47
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 7 meses
Puntos: 88
Respuesta: Macro: problema de ejecucion

Hola! Juliancho1989.
Para abreviar el tiempo de todos, será conveniente que subas a un servidor una muestra de lo que tienes para ver lo que has desarrollado y buscarle una variante.

Saludos, Cacho R.

Etiquetas: ejecucion, excel, macro, macros
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 04:36.