Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

261
Vistas
VBA para abrir el archivo según la ruta y el nombre que cambian mensualmente

¡Gracias por mirar esto! Soy un principiante intermedio en VBA. Estoy escribiendo en el sistema operativo Microsoft 2010 y Excel 365. He escrito un script para procesar un archivo de fila de 150K cuando se ejecuta. Actualmente abre un archivo de origen ubicado en una unidad de Sharepoint. ese camino se ve así:

"\(nombre del servidor)\Archivos SQL\2022\06.2022\Junio2022Nombre.xlsx"

El archivo que me gustaría que VBA abra automáticamente es el que coincide con el mes actual, ya que hay archivos para cada mes durante el año pasado y se crea una nueva carpeta a medida que avanzan los meses, es decir, actualmente no hay una carpeta para julio pero se escribirá como 2022\07.2022\July2022Name.xlsx

Revisé varias secuencias de comandos de selección de nombres y no puedo indicarle a VBA que lo haga. Me faltan pasos, creo. Esto es lo que he probado hasta ahora

 'Find Workbook Filename <br> Dim dt as String, dt2 as string Filename as String, strMonth as string<br> strMth = Monthname(Month(Now()), True<br> if Month(Now()) = 1 Then<br> strPriorMth = MonthName(12,True)<br> Else st PriorMth = Monthname(Month(Now())-1, True<br> dt2 = StrMonth(mm).YYYY dt = StrMonth(mmm)YYYY <br> filename = "\\(server name)\SQL Files\2022\"dt2"\"dt & "SqlViews.xlsx"<br>

Me disculpo por tener problemas con algo tan simple. No estoy seguro de cómo convertir dt2 como una cadena de números y dt como lo que creo que es una cadena nvarchar. ¡Cualquier ayuda sería invaluable!

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

No estoy seguro de la salida exacta que desea. Pero aquí hay un ejemplo.

 Sub test() Dim dt As String, dt2 As String Dim filename As String, strMonth As String strMth = MonthName(Month(Now())) If Month(Now()) = 1 Then mth = "12" strPriorMth = MonthName(12, True) Else mth = Month(Now() - 1) strPriorMth = MonthName(Month(Now()) - 1, True) End If dt = Format(mth, "mm") dt2 = Format(mth, "mmm") filename = "\\(server name)\SQL Files\2022\" & dt2 & "\" & dt & "SqlViews.xlsx" Debug.Print filename End Sub
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda