Retroceder   Foro Ayuda Excel > Dudas y consultas sobre Excel > Macros y programación VBA
Registrarse Preguntas Frecuentes Lista de Foreros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
LinkBack Herramientas Desplegado
  #1  
Antiguo 02/07/08, 06:21:01
Principiante
 
Usuario desde: jun 2008
Versión de Excel: Excel 2007
Conectado desde: Chile
Mensajes: 10
Question Ayuda con este codigo...

Hola de nuevo compañeros...les presento el siguiente codigo...

.....
Descargenlo para que lo puedan revisar...Gracias...


Mi ideas es que en la ultima parte de "Sub copia_lectura()" poder optimizarla trabajando con un FOR del mismo modo que en el "Sub insertar_indice" (en este se crea un hipervinculo dependiendo del numero de hojas que hallan) y en el "Sub copia_lectura()" lo que intento hacer es copiar el contenido de las hojas en la hoja nueva que se crea llamada "Lecturas" pero con este metodo solo me copia dependiendo el numero de hojas que tenga el libro, osea 30 segun este codigo, si el libro tiene menos hojas me genera un error, si tiene mas no me copia las restantes.... ...¿Como lo podria hacer para que me copie el contenido de todas las hojas que hallan???...con un FOR que avance hasta que llegue al final y salga pero ¿como?...no me ha resultado hasta el momento...me podrian ayudar...Gracias
Archivos Adjuntos
Tipo de Archivo: zip módulo5.zip (1,8 KB, 12 visitas)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #2  
Antiguo 02/07/08, 06:42:09
Moderator
 
Usuario desde: jun 2008
Versión de Excel: Excel 2003
Conectado desde: Colombia
Mensajes: 61
Contactar con Efasor a través de MSN
Predeterminado Mira el foro 317-devolver-dirrecion-de-celda-con-un-texto-especifico

Hola en el siguiente foro ya se soluciono un problema muy parecido al tuyo por favor mira las respuestas y el codigo ya que hay esta la solucion a como hacer el bucle por todo el libro.



Devolver Dirrecion De Celda Con Un Texto Especifico

te agradezco me cuentes como te fue...suerte..
__________________
Aquel que pregunta es un tonto por cinco minutos, pero el que no pregunta permanece tonto por siempre.
http://vbaycpp.blogspot.com/
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #3  
Antiguo 03/07/08, 05:01:38
Principiante
 
Usuario desde: jun 2008
Versión de Excel: Excel 2007
Conectado desde: Chile
Mensajes: 10
Predeterminado

si, en este tema se ocupa mas menos el mismo metodo que intento utilizar yo...pero no me compila bien...voy a subir un libro para que lo revises si tienes tiempo y me puedas guiar si no es mucha la molestia...

descarga el primer archivo que adjunte e importa la macro a este libro para que la pruebes, se que a ti se te va hacer mucho mas facil encontrar la solucion...
agradeceria tu ayuda, ya que como veo, dominas mucho mejor este tema que yo...
Archivos Adjuntos
Tipo de Archivo: zip Libro4.zip (28,2 KB, 14 visitas)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #4  
Antiguo 03/07/08, 07:32:10
Moderator
 
Usuario desde: jun 2008
Versión de Excel: Excel 2003
Conectado desde: Colombia
Mensajes: 61
Contactar con Efasor a través de MSN
Predeterminado Esta en sub Copia_lectura

Hola estube revisando tu codigo y hay un error en el procedimiento (sub) copia_lectura, el problema es tal vez porque llamas mas hojas de las que hay, entonces debes cambiar este procedimiento y meterla un bucle como el que tienes en insertar indices, además para copiar por codigo es mejor que copies valores de cells(i,j) a cells(k,l) (como esta en el ejempplo que viste) ya que te evitas estar copiando y pegando y el codigo te queda mas claro.

Cualquier pregunta que tengas trataré de responderla, suerte con eso...
__________________
Aquel que pregunta es un tonto por cinco minutos, pero el que no pregunta permanece tonto por siempre.
http://vbaycpp.blogspot.com/
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #5  
Antiguo 04/07/08, 02:33:39
Principiante
 
Usuario desde: jun 2008
Versión de Excel: Excel 2007
Conectado desde: Chile
Mensajes: 10
Predeterminado

mmm...nose.. pero no comprendo bien, en ese codigo se esta buscando un valor en especifico...yo necesito que me busque un "rango" en especifico y luego lo copie en una celda especifica (en la segunda buelta va a aumentar 3 celdas y lo va a copiar ahi), esto lo va hacer hasta que no hayan mas hojas y salga del bucle, todo lo que encuentre (que de echo va a encontrar) lo tiene que pegar en la hoja 1.....nose si pido mucho...
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #6  
Antiguo 04/07/08, 06:16:10
Moderator
 
Usuario desde: jun 2008
Versión de Excel: Excel 2003
Conectado desde: Colombia
Mensajes: 61
Contactar con Efasor a través de MSN
Predeterminado Por favor aclara la pregunta...

Hola puedes buscar cualquier propiedad de la celda...

Código:
cells(i,j).address '// pej. "A1"
Por otra parte si ya conoces el rango y la hoja

Código:
.... = range("Hoja1!B1:C25")
Tienes que jugar con eso y tal vez hacer algun bucle, si me envias un diarama de flujo de tu programa tal vez pueda ayudarte mejor, veras no entiendo muy bien lo que quieres hacer y eso hace dificil que te conteste acertadamente...
__________________
Aquel que pregunta es un tonto por cinco minutos, pero el que no pregunta permanece tonto por siempre.
http://vbaycpp.blogspot.com/
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #7  
Antiguo 04/07/08, 07:39:23
Principiante
 
Usuario desde: jun 2008
Versión de Excel: Excel 2007
Conectado desde: Chile
Mensajes: 10
Predeterminado

mira...
-tengo un libro dividido en x cantidad de hojas
-ejecuto la macro y esta te muestra en un mensaje la cantidad de hojas que tiene el libro
-luego, otra ventana en donde se pregunta si se quiere crear una nueva hoja..., si la respuesta es SI, se crea
-en la hoja nueva se inserta la hora de un dia cada 15 minutos(00:15, 00:30, 00:45, 01:00, 01:15, ...), esto aparece al crear la nueva hoja
-tambien aparece un hipervinculo con el nombre de todas las hojas hacia el lado y separado por 3 celdas(ese es el espacio que le doy )
-aqui biene lo que me falta-
-bajo cada hipervinculo tambien deben aparecer unas cifras, lecturas, estas lecturas ocupan 3 celdas, las lecturas se encuentran en un rango fijo en cada una de las hojas.
La macro debe ir a la hoja, seleccionar este rango, copiarlas y pegarlas bajo cada hipervinculo que es el nombre de cada hoja...

ojalas que me hayas entendido...me falta solo la iltima parte...ya he adjuntado un libro de ejemplo al igual que la macro para que la puedas ver...la ultima parte de la macro ahi que eliminarla ya que lo unico que hace es copiar y pegar pero no atraves de un ciclo...
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #8  
Antiguo 11/07/08, 02:10:37
Moderator
 
Usuario desde: jun 2008
Versión de Excel: Excel 2003
Conectado desde: Colombia
Mensajes: 61
Contactar con Efasor a través de MSN
Predeterminado Una posible solución

Hola como lo veo ya tienes una taba de la siguiente forma:

NombredelaHoja
Espacio para tusa datos

entonces vas de dos en dos y usas unas lineas que te copien los datos:

Código:
dim Local as Range
dim Visitante as Range
dim DummyStr as string
dim i as integer
set local = range("Hoja1!A1") 'Donde esta el primer vinculo
dummystr = "xxx"

i= 1
do 

dummystr = local.cells(i,1).text

if dummystr <>  "" then

set visitante = range(dummystr & "!C1") ' o sea, el nombre de la hoja
'más el rango fijo de cada hoja

'copia de datos

local.cells(i,1).value = visitante.cells(1,1)
local.cells(i,2).value = visitante.cells(1,2)
local.cells(i,3).value = visitante.cells(1,3) ' si fueran muchos un bucle
' ya estan copiados


end if
i=i+2 'más 2 porque te saltas donde tienes el vinculo

'si no dejaste el espacio se complica un poquito....jejeje
'metes esta linea antes local.entyrerow(rowindex:=i).insert

loop until dummystr = "" 'Celda Vacia
Bueno hay va una posibilidad tendras que ajustarla y depurarla un poco porque la saque sobre el blog pero debe funcionar...
__________________
Aquel que pregunta es un tonto por cinco minutos, pero el que no pregunta permanece tonto por siempre.
http://vbaycpp.blogspot.com/
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #9  
Antiguo 14/07/08, 16:40:58
Principiante
 
Usuario desde: jun 2008
Versión de Excel: Excel 2007
Conectado desde: Chile
Mensajes: 10
Predeterminado

Muchas gracias por tu ayuda...
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
  #10  
Antiguo 14/07/08, 17:39:37
Principiante
 
Usuario desde: jun 2008
Versión de Excel: Excel 2007
Conectado desde: Chile
Mensajes: 10
Predeterminado Error en codigo

Hola de nuevo....tengo los soguientes errores...

Dim Local As Range (error de sintaxis en local, si le cambio el nombre me deja pasar)

y el otro error es....

Range("Hoja1!A1")=<Error en método 'Range' de objeto '_Global'>

en Set Loc = Range("Hoja1!A1") 'Donde esta el primer vinculo

que sera???
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado



La franja horaria es GMT +2. Ahora son las 00:36:58.


© Ayuda Excel

Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.

1 2 3 4 5 6 7