Concatenación de celdas con VB

Buen día Experto!
Me puedes ayudar con un caso de concatenación ya que tengo el sig problema.
Tengo un listbox que cuando lo selecciono se pone el valor seleccionado en una celda
(En este caso es un documento de pdf). Por ejemplo selecciono 900100 y eso se pone en la celda a2.
Y selecciono un CommandButton1 y este debe de hacer que habrá el documento .
El código del CommandButton1 es :
Dim archivo As String
a = Range("A2")
archivo = "C:\Documentos\" & "a" & ".pdf"
Call Shell("explorer.exe " & archivo, vbNormalFocus)
Mi problema esta en la concatenación del archivo, no me muestra error solo que siempre abre la carrpeta de
Mis documentos en vez de la ubicación del archivo.y lo quiero concatenar porque no siempre sera el mismo archivo.
Gracias y espero tenga solución

2 Respuestas

Respuesta
1
Debieras aclarar dónde vas a guardar la ubicación del archivo... ¿con el nombre? ¿En otra col del listbox? ...
Espero tus aclaraciones para continuar con el tema
Hola que tal, que gustaso que me respondas tu, ya que me has dado muy buenos consejos, pero bueno enfoquemonos en el tema,
En el listbox cuando yo seleccione un dato este se pone en automático en la celda A2, por ejemplo los datos que tengo en el listbox son nombres de documentos en PDF.
Pero no quiero guardar el archivo, la idea es que me lo abra de esta ubicación C:\Documentos\
El listbox solo lo uso como referencia para que abra el archivo de acuerdo al nombre que se seleccione en el listbox el cual estará en la celda A2, ya que en esa ubicación tengo como 100 documentos en PDF.
Espero haber sido claro.
SLDS
Esa parte está comprendida. Lo que te preguntaba es dónde vas a indicar la ruta de la carpeta que corresponda al Pdf seleccionado:
'.... siempre abre la carrpeta de mis documentos en vez de la ubicacion del archivo....'
La instrucción siguiente está indicando una ruta:
archivo = "C:\Documentos\" & "a" & ".pdf"
Podrías usar:
b = range("b2")
archivo = "C:\" & b & "\" & "a" & ".pdf"
Si esto no resuelve tu consulta, aclarame este pto.
Sdos
Elsa

Muchas gracias, esto ha resuelto mi duda, solo que quisiera aclarar un pequeño detalle :
Podrías usar:
b = range("b2")
archivo = "C:\" & b & "\" & a & ".pdf" << aqui solo le quite las comillas a (a) para que funcionara pero todo lo demas perfecto.
Gracias de nuevo y saludos
Respuesta
1
Esta linea
archivo = "C:\Documentos\" & "a" & ".pdf"
dice que siempre el archivo estara en c:\Documentos\
Ahora si tus pdf no están siempre en esa path, lo que debes hacer es rescatar las rutas desde alguna parte.?. No se como estas cargando el list, pero supongo que sera solo con los nombres de los pdf y no con su ruta.
El problema radica en donde obtendrás el path.
El path siempre sera el mismo, y el listbox esta cargado de todos los nombres de los archivos en PDF que tengo en esta ubicación C:\Documentos\ , porque si lo hago de esta manera si abre el archivo :
Dim archivo As String
archivo = "C:\Documentos\900110.pdf"
Call Shell("explorer.exe " & archivo, vbNormalFocus)
Pero la idea es que como los nombres de los archivos están en el listbox, es que cuando seleccione un nombre de listbox este se guarda en la celda A2 y por eso ocupo la concatenación, porque el usuario puede escoger cualquier valor, y ese valor iría en ves de 900110 de la parte de arriba.
SLDS
Prueba
archivo = "C:\Documentos\" & [a2] & ".pdf"
Tu esructura esta bien pero intenta pasándole directo el contenido de la celda a2 lo probé y concatena bien

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas