Sacar letras de una palabras

A                                                      B                     C                  D         
FRANZ ROBERT MELGAR                           FRANZ            ROBERT        MELGAR 
HACIENDO ESTA MACRO ME ARROJA EL RESULTADO ASI
Y yo quisiera que solo me agarre las dos primeras letras de cada palabrao nombre
Sub extraerpalabras()
columna = 2 'osea B,donde se pondrá la primera palabra extraida
'recorriendo columna A para extraer palabras:
[A1].Select
While ActiveCell <> ""
For i = 1 To Len(ActiveCell)
temp = Mid(ActiveCell, i, 1) 'extrae carácteres
palabra = palabra & Trim(temp) 'armando palabra
If temp = " " Then
Cells(ActiveCell.Row, columna) = palabra
palabra = ""
columna = columna + 1
End If
Next i
If palabra <> "" Then
Cells(ActiveCell.Row, columna) = palabra
palabra = ""
End If
columna = 2
ActiveCell.Offset(1, 0).Select
Wend
End Sub

1 respuesta

Respuesta
1
Sub extraerpalabras()
Columna = 2 'osea B,donde se pondrá la primera palabra extraida
'recorriendo columna A para extraer palabras:
[A1].Select
While ActiveCell <> ""
    For i = 1 To Len(ActiveCell)
        temp = Mid(ActiveCell, i, 1) 'extrae carácteres
        palabra = palabra & Trim(temp) 'armando palabra
        If temp = " " Then
            Cells(ActiveCell.Row, Columna) = Mid(palabra, 1, 2)
            palabra = ""
            Columna = Columna + 1
        End If
    Next i
    If palabra <> "" Then
        Cells(ActiveCell.Row, Columna) = Mid(palabra, 1, 2)
        palabra = ""
    End If
    Columna = 2
    ActiveCell.Offset(1, 0).Select
Wend
End Sub
Hola mira bien justo lo que quería pero hazme un favor esas dos letras que me quita de cada nombre quisiera que solo se coloque en una sola columna
               A B
Franz robert melgar zampieri                             frromeza
Por favor
Sub extraerpalabras()
PalabraTotal = ""
Columna = 2 'osea B,donde se pondrá la primera palabra extraida
'recorriendo columna A para extraer palabras:
[A1].Select
While ActiveCell <> ""
    For i = 1 To Len(ActiveCell)
        temp = Mid(ActiveCell, i, 1) 'extrae carácteres
        palabra = palabra & Trim(temp) 'armando palabra
        If temp = " " Then
            'Cells(ActiveCell.Row, Columna) = Mid(palabra, 1, 2)
            PalabraTotal = PalabraTotal + Mid(palabra, 1, 2)
            palabra = ""
            'Columna = Columna + 1
        End If
    Next i
    If palabra <> "" Then
        'Cells(ActiveCell.Row, Columna) = Mid(palabra, 1, 2)
        PalabraTotal = PalabraTotal + Mid(palabra, 1, 2)
        palabra = ""
    End If
    Cells(ActiveCell.Row, Columna) = PalabraTotal
    'Columna = 2
    ActiveCell.Offset(1, 0).Select
Wend
End Sub
Mira ahora me ejecuta así:
Se van sumando
          A                                                             B
roberto bucheli falcon                                   robufa
mario david                                                robufamada
fernando del rio chavez                              robufamadafederich
  yo kiero k cuando lo ejecute me salga asi:
              A                                                B
roberto bucheli falcon                               robufa
mario david                                              mada
dernando del rio chavez                           federich
Disculpa...
Sub extraerpalabras()
'PalabraTotal = ""
Columna = 2 'osea B,donde se pondrá la primera palabra extraida
'recorriendo columna A para extraer palabras:
[A1].Select
While ActiveCell <> ""
    PalabraTotal = ""
    For i = 1 To Len(ActiveCell)
        temp = Mid(ActiveCell, i, 1) 'extrae carácteres
        palabra = palabra & Trim(temp) 'armando palabra
        If temp = " " Then
            'Cells(ActiveCell.Row, Columna) = Mid(palabra, 1, 2)
            PalabraTotal = PalabraTotal + Mid(palabra, 1, 2)
            palabra = ""
            'Columna = Columna + 1
        End If
    Next i
    If palabra <> "" Then
        'Cells(ActiveCell.Row, Columna) = Mid(palabra, 1, 2)
        PalabraTotal = PalabraTotal + Mid(palabra, 1, 2)
        palabra = ""
    End If
    Cells(ActiveCell.Row, Columna) = PalabraTotal
    'Columna = 2
    ActiveCell.Offset(1, 0).Select
Wend
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas