UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se pueden hacer consultas de Excel o VBA por mensaje privado.
Utiliza el botón buscar del foro y te ahorras tiempo para obtener "ayuda".

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

ronywil


Esta la macro que elabore, disculpen los errores que hubiese cometido aun soy novato en excel bueno  lo que intento hacer es de mi libro actual por decir CINA 1A  llamo a la macro que abra otro libro del mismo directorio verifico que en sus hojas del nuevo libro contenga el dato 1A si es asi entonces entrar a la hoja5 del nue libro y copiar datos de una columna de esa  y guardarla en un vector  notas(j) para luego vaciarlas en mi libro origen. Pero no se como hacer esa referencia  en medio de la macro marque con azul el fragmento donde lo intento no se como podria realizarlo.  de antemano agradezco la ayuda que puedan brindarme. gracias
     



Sub importdatos()
Dim RutaLibros As String
Dim ArchivoEntrada As String
Dim abrirlibro As String

Dim wb As Workbook
Dim paralelo As String
Dim dato As String
Dim materiaactiva As String
Dim codigomateria As String

Dim notas(100) As Long

Dim liroactual As String

j = 7

m = 6
p = 6
paralelo = Hoja1.Cells(19, 7)  'de libro actual recupero  el paralelo
libroactual = Hoja1.Cells(18, 9) 'de libro actual recupero  codigo de materia

 
 'Ruta del archivo cerrado - fuente
   RutaLibros = ThisWorkbook.Path
 'direccion del libro a abrir
  ArchivoEntrada = Dir(RutaLibros & "\" & "*.xlsm")
Do While ArchivoEntrada <> ""

'condicion de que libros no tomar en cuenta'
  If ArchivoEntrada <> ActiveWorkbook.Name And ArchivoEntrada <> "BDD CURSOS.xlsm" And ArchivoEntrada <> "REGISTRO_INTEGRADO.xlsm" Then
    'consigo la ruta del libro a abrir
     abrirlibro = RutaLibros & "\" & ArchivoEntrada
   'abro el libro
     Set wb = Workbooks.Open(abrirlibro, 3)
     'activo ese libro
     With wb
      wb.Activate
        'recupero del nuevo libro abierto dos valores
        materiaactiva = Worksheets(1).Range("G17").Value
        codigomateria = Worksheets(1).Range("I18").Value
        ' pregunto si ese libro en la hoja 1 la celda correpondiente a paralelo es
'igual al libro original o sea era 1A verifico si el nuevo libro abierto tambien sea 1A
         If Worksheets(1).Range("G19").Value = paralelo Then
        'si es igual enontes  recorrer en la hoja5 de ese libro

 ' aca tengo el error no se como acceder al nuevo libro abierto hacer referencia
 'a la hoja5 en una celda variable como se observa cells(2,k) con k variable
 For k = 6 To 17
  If Workbooks(ArchivoEntrada).Sheets("Hoja5").Range(Cells(2, k)).Value = materiaactiva Then
 While Workbooks(ArchivoEntrada).Sheets("Hoja5").Range(Cells(j, 1)).Value <> ""
 notas(j) = Workbooks(ArchivoEntrada).Sheets("Hoja5").Range(Cells(j, k)).Value
            j = j + 1
           Wend
   End If
  Next k

     
       End If
      End With
  
   wb.Close False
   Set wb = Nothing
  End If
  ArchivoEntrada = Dir
 Loop

tyno


Hola Rony.
No se si ya resolviste tu archivo pero te paso  una carpeta con dos archivo: uno llamado origen que contiene una macro que pasa los datos a otro archivo llamado destino. El archivo destino tiene que que estar abierto para esta prueba. 
Esto te lo paso a modo de ejemplo para que veas como hice el código para pasar datos de un archivo a otro, que creo esa era tu cuestión. Si esto es lo que necesitas la idea es que veas como funciona y  lo adaptes a tu archivo ya que resulta algo bastante engorroso deducir el código que has hecho el cual tu eres el que mejor entiendes. Saludos
Archivos
ejemplo.zip
No tienes los permisos para descargar los archivos.
(24 KB)

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.