Created
July 26, 2018 21:52
-
-
Save fransafu/946c3f1fc0007830bd29b88a48d1bc36 to your computer and use it in GitHub Desktop.
Get filename and extension from path route in excel [MACRO][VB]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sub getFilename() | |
' Obtener Ultima fila y ultima columna | |
Dim numRows As Long | |
Dim numCols As Long | |
' Guardar texto de la ruta | |
Dim strDoc As Variant | |
' Guardar arreglo separado por la variable strSplit | |
Dim arraySplit() As String | |
Dim strSplit As String | |
' Posicion del elemento en el arreglo que queremos buscar | |
Dim position As Integer | |
' Obtener ultima fila basado en la columna A | |
numRows = Range("A" & Rows.Count).End(xlUp).Row | |
' Obtener la ultima columna comenzando por la primera Fila | |
numCols = Cells(1, Columns.Count).End(xlToLeft).Column | |
' Definir parametro para separar | |
strSplit = "/" | |
' LLenar la tercera columna en la primera fila si se encuentra vacia con el nombre de la columna "nameDoc" | |
If Cells(1, 3).Value = "" Then | |
Cells(1, 3).Value = "nameDoc" | |
End If | |
' Itera fila por fila | |
For i = 1 To numRows | |
' Itera columna por columna | |
For j = 1 To numCols | |
' Evalua la condicion donde el valor no es la primera fila pero si estar en la segunda columna (j = 2) | |
If j = 2 And Cells(i, j).Value <> "iUnixPathName" Then | |
' Obtener valor de la celda | |
strDoc = Cells(i, j).Value | |
' Realizar Split del valor segun la separacion que queremos | |
arraySplit = Split(strDoc, strSplit) | |
' Obtener la ultima posicion del arreglo | |
position = UBound(arraySplit) | |
' Escribir en la columna de al lado el valor obtenido (por eso es j + 1) | |
Cells(i, j + 1).Value = arraySplit(position) | |
End If | |
Next j | |
Next i | |
End Sub |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment