Académique Documents
Professionnel Documents
Culture Documents
Copiardatosdesdeunlibroaotrosinnecesidaddeabrirlosdos.| necesitomas.com
necesitomas.com
Buscar
Copiar datos desde un libro a otro sin necesidad de abrir los dos.
Re sponde r
26 envos / 0 nuevos
ltimo e nv o
JoseLuis
Casla...
Copiar datos desde un libro a otro sin necesidad de abrir los dos.
Tnego un libro Excel, con cinco hojas.
Los datos se introducen en la Hoja1. El
resto de las Hojas, hacen procesos sobre
estos datos de la Hoja1
ltima
Offline
accin:
Hace 1 semana
1 da
alta:
11/05/2012
15:15
Puntos: 1195
#1
Celebratethe
acceptance
ofeveryone,
everywhere.
Arriba
responder
pacomegia
#2
ltima
Offline
accin:
Hace 18 horas
13 mins
alta:
Prueba a crear un objeto workbook que se refiera al libro antiguo y con l das los
pasos necesarios para traer la informacin al libro nuevo
27/12/2006
http://www.necesitomas.com/copiardatoslibrootronecesidadabrirdos
1/15
28/8/2016
Copiardatosdesdeunlibroaotrosinnecesidaddeabrirlosdos.| necesitomas.com
End With
LibroAntiguo.Close False 'cerramos sin guardar cambios
Set LibroAntiguo = Nothing
End Sub
(http://www.necesitomas.com/prod/optipe/datatoolssuite)
Arriba
responder
JoseLuis
Casla...
#3
ltima
Offline
accin:
Hace 1 semana
1 da
alta:
11/05/2012
15:15
Puntos: 1195
He querido responder pronto, porque preveo estar unos dias ocupado en otras
cosas. En cuanto salga de ello, lo probare.
De todas maneras, tiene toda la pinta de que va a funcionar...
Gracias, Paco.
Arriba
responder
joshua
#4
ltima
Offline
accin:
Hace 1 ao 11
meses
http://www.necesitomas.com/copiardatoslibrootronecesidadabrirdos
2/15
28/8/2016
meses
alta:
10/06/2012
21:49
Puntos: 125
Copiardatosdesdeunlibroaotrosinnecesidaddeabrirlosdos.| necesitomas.com
Sub Obtener_Datos()
Application.ScreenUpdating = False
With Sheets("Hoja1")
'verificamos si hay datos en la hoja
'donde se almacenaran los resultados
datos = Application.CountA(.Range("A1:A11"))
'insertamos una linea para poder limpiar el rango
.Range("A1:D1").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'si hay datos en la hoja donde se almacenaran los resultados
'los borramos para actualiz arla
With .Range("A2:D11")
If datos > 0 Then .ClearContents
'definimos de que libro extraeremos los datos
ruta_libro = "C:\Users\Usuario\Desktop"
nombre_libro = "Libroprueba.xls"
nombre_hoja = "Hoja1"
'insertamos las formulas
.Formula = "='" & ruta_libro & "\[" & _
nombre_libro & "]" & nombre_hoja & "'!a1"
'dejamos solo los valores
.Value = .Value
End With
'recorremos el rango para eliminar ceros
For b = 1 To 4
With .Columns(b)
.AutoFilter Field:=1, Criteria1:="=0", Operator:=xlOr, Criteria2:="=00"
.SpecialCells(xlCellTypeVisible).ClearContents
End With
Next
'eliminamos la linea que habiamos inssertado
.Range("A1:D1").Delete Shift:=xlUp
End With
Application.ScreenUpdating = True
End Sub
Atte.
joshua
Arriba
http://www.necesitomas.com/copiardatoslibrootronecesidadabrirdos
responder
3/15
28/8/2016
Copiardatosdesdeunlibroaotrosinnecesidaddeabrirlosdos.| necesitomas.com
JoseLuis
Casla...
#5
ltima
Offline
accin:
Hace 1 semana
1 da
alta:
11/05/2012
15:15
Puntos: 1195
Arriba
responder
joshua
#6
ltima
Offline
accin:
Hace 1 ao 11
meses
alta:
10/06/2012
21:49
Puntos: 125
Arriba
http://www.necesitomas.com/copiardatoslibrootronecesidadabrirdos
responder
4/15
28/8/2016
Copiardatosdesdeunlibroaotrosinnecesidaddeabrirlosdos.| necesitomas.com
xoan
ninguen
#7
ltima
Offline
accin:
Hace 1 ao 4
meses
alta:
19/01/2011
10:03
Puntos: 715
Incluyo directamente los enlaces, porque copiar+pegar tanto texto sera criminal. Y
porque, de todas formas, si la informacin a intercambiar reside en un libro sin
macros, la forma ms simple es hacerlo como indica Paco. Lo siguiente es para
gente que tenga "mucho muchsimo" inters en probar y trastear.
http://www.trazex.com/2012/05/12/abrirarchivosenreferencias
externas/(http://www.trazex.com/2012/05/12/abrirarchivosenreferencias
externas/)
http://www.trazex.com/2012/05/03/intercambiodeinformaci%C3%B3n
Noquiero
Acepto
Enestesitioutilizamoscookies(comoen
conotrosarchivosmediante
todaspartes)
(http://www.trazex.com/2012/05/03/intercambiodeinformaci%C3%B3ncon
Utilizamos ado/
cookies
nuestras para el funcionamiento del
otrosarchivosmedianteado/)
sitio, de Google
para mostrarte publicidad, y de AddThis
para mostrar contenido relevante que pueda interesarte.
Haciendo clic
en cualquier enlace de este sitio
entendemos que nos das permiso para utilizar cookies
contigo.
Con el primero, se podran abrir libros con el mismo nombre (no sera la primera vez
que me ocurra). Con lo del segundo, se pueden importar datos de un libro, sin
necesidad de abrirlo (por tanto, sin que se ejecuten sus macros).
Un saludo
Arriba
responder
JoseLuis
Casla...
ltima
Offline
accin:
Hace 1 semana
1 da
alta:
11/05/2012
15:15
Puntos: 1195
#8
http://www.necesitomas.com/copiardatoslibrootronecesidadabrirdos
5/15
28/8/2016
Copiardatosdesdeunlibroaotrosinnecesidaddeabrirlosdos.| necesitomas.com
para mi, que soy novato: eso de poner un End Sub al final de la linea que se desea y
"ver" lo que ha pasado...
Pasito a pasito... Gracias a los tres.
Arriba
responder
#9
Cron
Bueno, en vez de poner un "end sub", lo que puedes hacer es ejecutar la macro lnea
a lnea con F8. Si lo que quieres ver est muy lejos, con poner delante de donde te
interese un punto de detencin (pinchas a la iz quierda de la expresin y se pone un
punto rojo), ejecutas con F5 y cuando llega al punto se detiene y puedes ver qu ha
ocurrido. Si "sobrevuelas" con el ratn las variables, te aparece el valor que tienen en
ltima
Offline
accin:
Hace 16 horas
cada momento. Y a partir de ah, con F8 vas avanz ando lnea a lnea.
Enestesitioutilizamoscookies(comoen
Noquiero
Acepto
4 mins todaspartes)
Utilizamos
cookies nuestras para el funcionamiento del
alta:
sitio, de Google para mostrarte publicidad, y de AddThis
para mostrar contenido relevante que pueda interesarte.
Haciendo clic en cualquier enlace de este sitio
entendemos que nos das permiso para utilizar cookies
contigo.
23/06/2010
12:30
Puntos: 6535
Arriba
responder
JoseLuis
Casla...
#10
ltima
Offline
accin:
Hace 1 semana
1 da
alta:
He "descubierto" sobre todo la ayuda del "punto de detencion" al que he visto que se
llega por distintos caminos, desde pinchar como tu sugieres en tu aporte, hasta ir al
F9 para hacer lo mismo... Evivente... lo de pinchar, (lo pone o lo quita
secuencialmente), mas comodo.
11/05/2012
15:15
Puntos: 1195
La tecla F8 para ir paso a paso, viene a ser otra manera de analiz ar el proceso que
se esta ejecutando en la macro...
Joshua me habia sugerido poner Exit Sub (no End Sub como equivocadamente puse
en mi respuesta anterior), y esta bien conocer diferentes opciones y hacer uso de la
mejor en cada ocasion.
Sobrevolar las variables, esta tambien muy bien. Puede aclarar lo que esta
ocurriendo... porque he visto que se puede sobrevolar una variable colocada mucho
mas adelante en la macro, y se va actualiz ando en cada F8 que le afecta... Otra idea
que va al puchero...
Gracias Cron.
Arriba
responder
joshua
#11
http://www.necesitomas.com/copiardatoslibrootronecesidadabrirdos
6/15
28/8/2016
Copiardatosdesdeunlibroaotrosinnecesidaddeabrirlosdos.| necesitomas.com
Saludos.
Disculpa la tardanz a, te adjunto el ejemplo que te habia prometido.
ltima
Offline
accin:
Hace 1 ao 11
meses
alta:
10/06/2012
21:49
Puntos: 125
Coloca los dos libros en una misma carpeta, esto es porque estoy haciendo
referencia a la ruta del Libro_destino con la siguiente lnea.
ruta_libro = ActiveWorkbook.Path, pero se pueden colocar en carpetas diferentes
cambiando el ActiveWorkbook.Path por la ruta de la carpeta donde se encontrara el
Libro_origen de esta forma "C:\Users\Usuario\Desktop", bueno la macro la ejecutas
desde el Libro_destino, prubala y comentas, si quieres probarla de lleno en tu
original habra que modificar los rangos de extraccin pero esto es sencillo, si no lo
puedes realiz ar con gusto te lo hago solo necesitara una copia de tu original claro
esta que con datos ficticios pero muy importante con la misma estructura es decir
rallados formatos, etc.
Enestesitioutilizamoscookies(comoen
todaspartes)
Utilizamos Atte.
cookies nuestras para el funcionamiento del
Acepto
Noquiero
Tamao
responder
JoseLuis
Casla...
22.5 KB
#12
ltima
Offline
accin:
Hace 1 semana
1 da
alta:
11/05/2012
15:15
Puntos: 1195
Lo he aplicado a mis ficheros haciendo las variaciones en el macro, para ajustar a las
columnas y filas que me interesan... y me pierdo...
No acierto a controlar las columnas ni las filas... y en loas datos copiados, sobre
todo, los que contienen fechas o numeros... me hace cosas rarisimas que no
entiendo...
Me gustaria enviarte los ficheros que yo utiliz o, para que veas por donde surgen los
problemas.
El fichero origen tiene datos y tiene las hojas protegidas... Me gustaria enviartelo a tu
direccion de correo si es posible, para darte las claves de acceso y demas...
He visto que ofreces la posibilidad de enviarte un correo, pero no veo la manera de
enviarte los ficheros adjuntos...
Saludos cordiales
Arriba
Vie, 22/06/2012 00:00
http://www.necesitomas.com/copiardatoslibrootronecesidadabrirdos
responder
#13
7/15
28/8/2016
Copiardatosdesdeunlibroaotrosinnecesidaddeabrirlosdos.| necesitomas.com
joshua
Saludos.
Puedes enviarmelos a eliasorozco.serviconta@gmail.com
ltima
Offline
accin:
Hace 1 ao 11
meses
alta:
10/06/2012
21:49
Puntos: 125
Atte.
joshua
Arriba
responder
#14
Noquiero
Utilizamos Gracias
cookies nuestras
elenvio
funcionamiento
del
Joshuapara
por el
de los ficheros
adaptados para aplicar tu macro. Funciona
sitio, de Google para mostrarte publicidad, y de AddThis
perfectamente.
Casla...todaspartes)
Acepto
ltima
Offline
accin:
Hace 1 semana
1 da
alta:
Los dos ficheros, se explican por si mismos. El libro_origen tiene los datos, y el
libro_destino contiene el macro para recibir los datos.
11/05/2012
15:15
Puntos: 1195
Jose Luis
Saludos cordiales.
Adjunto
Tamao
libro_destino.xls (http://www.necesitomas.com/files/libro_destino_0.xls)
399.5
KB
libro_origen.xls (http://www.necesitomas.com/files/libro_origen_1.xls)
384.5
KB
Arriba
responder
visitante
(no
verificado)
Arriba
responder
visitante
(no
verificado)
#15
#16
http://www.necesitomas.com/copiardatoslibrootronecesidadabrirdos
8/15
28/8/2016
Copiardatosdesdeunlibroaotrosinnecesidaddeabrirlosdos.| necesitomas.com
Arriba
responder
visitante
(no
verificado)
#17
Enestesitioutilizamoscookies(comoen
todaspartes)
Arriba
JOHN
ANDRES(no
verificado)
Noquiero
responder
#18
AYUDA URGENTE
HOLA TENGO DOS ARCHIVOS DE CALIFICACIONES... TENGO UN TERCERO QUISIERA
QUE LAS NOTAS FINAL DEL PRIMER Y SEGUNDO ARCHIVO KISIERA SE KOPIEN
AUTOMATICO AL TERCERO ME AYUDARIAS EN ESO... NO ENTIENDO MUCHO DE ESTO
SE ME HARIA MAS FACIL CON UN VIDEO O TUTORIAL... GRACIAS DE ANTEMANO
Arriba
responder
josed(no
verificado)
Acepto
#19
Arriba
responder
#20
9/15
28/8/2016
Copiardatosdesdeunlibroaotrosinnecesidaddeabrirlosdos.| necesitomas.com
Arriba
responder
Perezperez
(no
verificado)
#21
Enestesitioutilizamoscookies(comoen
todaspartes)
Acepto
Noquiero
jorge(no
verificado)
responder
#22
consulta
al ejecutar esta macro me muestra una mensaje que dice: Este libro contiene uno o
mas vinculos que no se pueden actualiz ar.
para cambiar el origen de los vinculos o intentar de nuevo actualiz ar los valores,
haga click en modificar
para dejar los vinculos tal como estan, haga click en continuar
Y NO QUIERO QUE ME APAREZCA ESTE MENSAJE PORFAVOR, AYUDA! SALUDOS
' CopiarDatos Macro
Workbooks.Open Filename:=ruta_planilla 'Abre archivo planilla diaria TURBOVAPOR
Sheets("Trafos").Select
Range("H9:H39").Select
Selection.Copy
Workbooks(nombre_movcombustible).Sheets(b).Activate
Sheets(b).Select
Range("AP21:AP51").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Arriba
responder
seba64(no
verificado)
#23
Saludos
http://www.necesitomas.com/copiardatoslibrootronecesidadabrirdos
10/15
28/8/2016
Copiardatosdesdeunlibroaotrosinnecesidaddeabrirlosdos.| necesitomas.com
Saludos quisiera saber si alguien tiene los cdigos para abrir libros con el mismo
nombre y para importar datos de un libro sin necesidad de abrirlo. Es que en este
post todos hablan de cosas muy interesantes y cdigos muy alucinantes, pero nadie
dejo una piz ca de cdigo, slo unos enlaces a pginas que ya no existen. Se
agradecer+ia que pusieran esos cdigos en el post, para el registro. Adems de que
no he econtrado otros post en los que se traten estos temas.
Arriba
responder
Elias(no
verificado)
#24
Consulta
comentario movido aqu:
http://www.necesitomas.com/copiardatosotrolibro
Enestesitioutilizamoscookies(comoen
Noquiero
1 (http://www.necesitomas.com/copiardatosotrolibro1)Acepto
todaspartes)
Utilizamos cookies nuestras para el funcionamiento del
sitio, de Google para mostrarte publicidad, y de AddThis
para mostrar contenido relevante que pueda interesarte.
Haciendo clic en cualquier enlace de este sitio
entendemos que nos das permiso para utilizar cookies
contigo.
Arriba
responder
CesarBoys
(no
verificado)
#25
VBA General
Abrir un arc hivo Exc el y leer datos del mismo es relativamente senc illo, pero puede ser ms
interesante realizar el interc ambio de datos sin rec urrir a abrir el programa asoc iado.
Mic rosoft permite realizar este interc ambio mediante varias tec nologas, entre ellas ADO (hay
detrac tores al respec to).
Hac erlo a travs de Exc el no resulta del todo simple, pero mediante estas rutinas pueden
llevarse a c abo las tareas princ ipales:
Option Explicit
Private Sub GetSheetNames2(ByRef szFullName As String, ByRefaszSheetList() As S
tring)
Dim bIsWorksheet As Boolean
Dim objConnection As ADODB.Connection
Dim rsData As ADODB.Recordset
Dim lIndex As Long
Dim szConnect As String
Dim szSheetName As String
http://www.necesitomas.com/copiardatoslibrootronecesidadabrirdos
11/15
28/8/2016
Copiardatosdesdeunlibroaotrosinnecesidaddeabrirlosdos.| necesitomas.com
Erase aszSheetList()
szSheetName
= Left$(szSheetName, Len(szSheetName) 1)
Haciendo clic
enlace
de este sitio
entendemosque
para utilizar
cookies
nos
das
permiso
bIsWorksheet
= True
contigo.
ElseIf Right$(szSheetName, 2) = "$'" Then
''' This is a sheet name with spaces and/or special characters.
''' Remove the right "&'" characters.
szSheetName = Left$(szSheetName, Len(szSheetName) 2)
''' Remove the left single quote character.
szSheetName = Right$(szSheetName, Len(szSheetName) 1)
bIsWorksheet = True
End If
If bIsWorksheet Then
''' Embedded single quotes in the sheet name will be doubled up.
''' Replace any doubled single quotes with one single quote.
szSheetName = Replace$(szSheetName, "''", "'")
''' Load the processed sheet name into the array.
ReDim Preserve aszSheetList(0 To lIndex)
aszSheetList(lIndex) = szSheetName
lIndex = lIndex + 1
End If
rsData.MoveNext
Loop
rsData.Close
Set rsData = Nothing
objConnection.Close
Set objConnection = Nothing
End Sub
Public Function GetSheetsNames(strFileName As String) AsCollection
'Needs a reference to:
'Microsoft ActiveX Data Object X.X Library
'Microsoft ADO Ext. X.X for DLL and Security
12/15
28/8/2016
Copiardatosdesdeunlibroaotrosinnecesidaddeabrirlosdos.| necesitomas.com
Enestesitioutilizamoscookies(comoen
End Function
todaspartes)
Acepto
Noquiero
With dbConnection
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & SourceFile & "" & _
"Extended Properties=Excel 8.0"
.Open
End With
13/15
28/8/2016
Copiardatosdesdeunlibroaotrosinnecesidaddeabrirlosdos.| necesitomas.com
Enestesitioutilizamoscookies(comoen
todaspartes)
Acepto
Noquiero
Dim
strRuta_y_NombreArchivo
As String
Haciendo clic en cualquier enlace de este sitio
entendemosque
das
permiso para utilizar cookies
nos
Call
fAbrirArchivo(strRuta_y_NombreArchivo)
contigo.
Arriba
responder
#26
Macro perfecta
http://www.necesitomas.com/copiardatoslibrootronecesidadabrirdos
14/15
28/8/2016
Copiardatosdesdeunlibroaotrosinnecesidaddeabrirlosdos.| necesitomas.com
Steven(no
verificado)
Hola Joshua estuve viendo tu macro y es exactamente lo que necesito, solo necesito
hacerle unos cambios ya que necesito hacerlo con varios files, si me pudieras ayudar
te lo agradeceria demasiado, mi correo es lcruz10@hotmail.com
Arriba
responder
Re sponde r
Si copias, al menos enlaza (http://www.necesitomas.com) | El contenido original de esta web est bajo
una licencia de Creative Commons (http://creativecommons.org/licenses/bysa/2.5/es/).
proteccin de datos personales (http://www.necesitomas.com/datos) | normas de participacin en el
Enestesitioutilizamoscookies(comoen
Noquiero
foro(http://www.necesitomas.com/normasforo) | informacin sobre
de
Aceptomedios
todaspartes)
Utilizamos cookies nuestras
para
el funcionamiento del
pago
(http://www.necesitomas.com/pago)
sitio,
de Google
para
mostrarte publicidad, y de AddThis
Cursos
Excel
Madrid
(http://www.necesitomas.com/formacionexcelnecesitomas)
| Cursos Excel
para mostrar contenido relevante que pueda interesarte.
Barcelona (http://donexcel.com/)
Haciendo clic en cualquier enlace de este sitio
entendemos que nos das permiso para utilizar cookies
contigo.
http://www.necesitomas.com/copiardatoslibrootronecesidadabrirdos
15/15