Excel - Detectar nombre de libro asta cierto punto

   
Vista:
Imágen de perfil de Emiliano

Detectar nombre de libro asta cierto punto

Publicado por Emiliano gatosantyjake@gmail.com (9 intervenciones) el 17/07/2017 19:27:33
hola buenas tardes

estoy creando una macro para hacer varios cruces de varios libros ya tengo todo solo que me surguio un problema y es que los libros siempre terminan el nombre de distinta manera por ejemplo OXXO 2017_ y luego se llama OXXO 2016_ y me gustaria que en el buscarV me detectara el nombre solo asta OXXO y lo demas pueda ser variable este es el codigo de mi buscarV todo esta correcto solo me falta ese detalle de el nombre


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sub BusvarVTxtRuta9()
 
libro = ActiveWorkbook.Name
Total = WorksheetFunction.CountA(Workbooks("MACRO MENU ACCIONES.xlsm").Sheets("Formato").Range("A:A"))
'MsgBox Total
For contar = 2 To Total  'Depende las filas
 
ntotal = WorksheetFunction.CountA(Workbooks(libro).Sheets("OXXO 2017").Range("C:C"))
value = Workbooks("MACRO MENU ACCIONES.xlsm").Sheets("Formato").Range("B" & contar).value 'Celda con el valor que buscamos
Set lookupRange = Workbooks("OXXO 2017_.xlsx").Sheets("OXXO 2017").Range("C2:C" & ntotal)  'Rango donde buscar
 
'Queremos el producto
lookupvalue = Application.VLookup(value, lookupRange, 1, False) 'BuscarV(Valor,Rango,ColumnaEncontada)
 
'Si no encuentra valor
If IsError(lookupvalue) Then
 
Workbooks("MACRO MENU ACCIONES.xlsm").Sheets("Formato").Range("K" & contar).value = " N/A  "
 
'Si lo encuentra lo devuelve
Else
 
Workbooks("MACRO MENU ACCIONES.xlsm").Sheets("Formato").Range("K" & contar).value = lookupvalue
 
End If
Next contar
End Sub


esperando alguien me pueda ayudar
muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de wordexperto.com

Detectar nombre de libro asta cierto punto

Publicado por wordexperto.com (1519 intervenciones) el 17/07/2017 20:57:26
Hola Emiliano:
Una cuestión previa. No hagas un libro por año. Pon todos los datos en el mismo libro y añade una columna Fecha. Luego haces los resúmenes o informes con Tablas dinámicas.
https://wordexperto.com/blog/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Emiliano

Detectar nombre de libro asta cierto punto

Publicado por Emiliano (9 intervenciones) el 17/07/2017 21:03:25
si muchas gracias solo que los archivos me los mandan asi y ps necesito esto
la verdad no se si se pueda esto que quiero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rafael

Detectar nombre de libro asta cierto punto

Publicado por Rafael (29 intervenciones) el 18/07/2017 08:04:38
Buenas Emiliano,

Lo que necesitas es meter una Variable dentro del código que te dé lo que estás buscando, te pongo un ejemplo con una de tus lineas:

1
2
3
4
5
Workbooks("OXXO 2017_.xlsx").Sheets("OXXO 2017").Range("C2:C" & ntotal) 'Esta es tu linea
 
LIBROBUSQUEDA = Range("A2").Value
 
Workbooks("OXXO " & LIBROBUSQUEDA & "_.xlsx").Sheets("OXXO " & LIBROBUSQUEDA).Range("C2:C" & ntotal)

De esta manera te cogerá una variable que la puedes definir en una celda de un libro, o bien si siempre es el año, que es lo que entendí en tu ejemplo, o un número puedes utilizar un bucle FOR definido por números creciendo y que vaya pasando por ellos.

Espero te haya sido de ayuda.

Un saludo
Rafa
http://officepostit.es
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Antoni Masana

Detectar nombre de libro asta cierto punto

Publicado por Antoni Masana (816 intervenciones) el 18/07/2017 12:30:05
Una forma de saber como se llama el fichero es preguntando y el solito te lo dice

Si haces esto:

1
2
3
4
5
6
7
8
Dim Fichero as String
 
Fichero = Dir("OXXO*.xls*")
 
While len(Fichero) > 0
    MsgBox Fichero
    Fichero = Dir()
Wend

Si tienes varios ficheros OXXO te ira mostran llos nombre de cada uno.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Emiliano

Detectar nombre de libro asta cierto punto

Publicado por Emiliano (9 intervenciones) el 18/07/2017 20:27:53
muchas gracias amigo tienes mucha razon declarare una variable publica para detectar cualquiera que sea el nombre de mis libros muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad