Modificar macro para poder aplicar "Application.GetOpenFilename"en esta macro.
Que tal buenas tardes expertos no se como modificar esta macro, para poder abrir y buscar desde el buscador de archivos, en lugar de tener que ponerle toda la dieccion en una celda, quisiera que se copiara la direccion en la celda pero cuando ya la haya buscado en el buscador de archivos, y tambien una forma de hacer mas compacta la macro para no estar poniendo tanto elseif, gracias y ahogala que puedan ayudarme.
Sub ExtraerFolioFiscal2()
Dim MiPc, carpeta, Archivos, Archivo
Dim y, Fila, FolioFiscal
Application.ScreenUpdating = False
ActiveSheet.DisplayPageBreaks = False
Fila = Range("A" & Rows.Count).End(xlUp).Row + 1
Set MiPc = CreateObject("Scripting.FileSystemObject")
Set carpeta = MiPc.GetFolder(Range("B1").Value)
Set Archivos = carpeta.Files
For Each Archivo In Archivos
If LCase(Right(Archivo.Name, 4)) = ".xml" Then
Workbooks.OpenXML Filename:=Archivo
y = 1: FolioFiscal = ""
Do Until Cells(2, y) = ""
If Trim(Cells(2, y)) = "/cfdi:Complemento/tfd:TimbreFiscalDigital/@UUID" Then
FolioFiscal = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/@serie" Then
SERIE = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/@folio" Then
FOLIO = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/cfdi:Receptor/@rfc" Then
RECEPTORRFC = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/cfdi:Receptor/@nombre" Then
RECEPTORNOMBRE = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/cfdi:Emisor/@rfc" Then
EMISORRFC = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/cfdi:Emisor/@nombre" Then
EMISORNOMBRE = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/@Moneda" Then
MONEDA = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/@TipoCambio" Then
TIPOCAMBIO = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/@subTotal" Then
Subtotal = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/cfdi:Impuestos/@totalImpuestosRetenidos" Then
TOTALIMPUESTOSRETENIDOS = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/cfdi:Impuestos/@totalImpuestosTrasladados" Then
TOTALIMPUESTOSTRASLADADOS = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/@total" Then
Total = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/cfdi:Conceptos/cfdi:Concepto/@descripcion" Then
CONCEPTO = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/@fecha" Then
FECHA = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/@LugarExpedicion" Then
LugarExpedicion = Cells(3, y)
ElseIf Trim(Cells(2, y)) = "/@tipoDeComprobante" Then
TIPODECOMPROBANTE = Cells(3, y)
End If
y = y + 1
Loop
'--
Archivo = ActiveWorkbook.Name
ActiveWorkbook.Close
Range("A" & Fila) = Archivo
Range("B" & Fila) = FolioFiscal
Range("C" & Fila) = SERIE
Range("D" & Fila) = FOLIO
Range("E" & Fila) = RECEPTORRFC
Range("F" & Fila) = RECEPTORNOMBRE
Range("G" & Fila) = EMISORRFC
Range("H" & Fila) = EMISORNOMBRE
Range("I" & Fila) = MONEDA
Range("J" & Fila) = TIPOCAMBIO
Range("K" & Fila) = Subtotal
Range("L" & Fila) = TOTALIMPUESTOSRETENIDOS
Range("M" & Fila) = TOTALIMPUESTOSTRASLADADOS
Range("N" & Fila) = Total
Range("O" & Fila) = CONCEPTO
Range("P" & Fila) = FECHA
Range("Q" & Fila) = LugarExpedicion
Range("R" & Fila) = TIPODECOMPROBANTE
Fila = Fila + 1
End If
Next
End Sub