Como mover un rango variable

Estoy haciendo una macro y necesito mover un rango variable de un sitio a otro, he probado los siguientes códigos pero todos dan error, ¿Alguien puede ayudarme?, la rutina Letras funciona perfectamente y  recibe un número y lo convierte en la letra correspondiente, ej.: Si Inicio=2 devuelve en letra_inic=B:

1)               Call Letras(Inicio, letra_inic)
                   Call Letras(Npalabras, letra_fin)

                   Range("letra_inicial & Linea + 1, letra_final & Linea + 1").Value = Range("letra_inic & Linea + 1, letra_fin & Linea + 1").Value
                   

2)                Call Letras(Inicio, letra_inic)
                   Call Letras(Npalabras, letra_fin)
                   Sheets("F Separadas").Select
                   Sheets("F Separadas").Range(Cells(Inicio, letra_inic), Cells(Npalabras, letra_fin)).Select
                   Sheets("F Separadas").Select
                   Sheets("F Separadas").Range(letra_inic & Linea + 1, letra_fin & Linea + 1).Select
                   Application.CutCopyMode = False
                   Call Letras(Inicio - 1, letra_inicial)
                   Call Letras(Npalabras - 1, letra_final)

3)               Sheets("F Separadas").Select
                   Sheets("F Separadas").Range(letra_inic & Linea + 1, letra_fin & Linea + 1).Select
                   Sheets("F Separadas").Range(letra_fin & Linea + 1).Activate
                   Application.CutCopyMode = False
                   Selection.Cut Destination:=Range(letra_inicial & Linea + 1, letra_final & Linea + 1)
                   Range(letra_inicial & Linea + 1, letra_final & Linea + 1).Select
                   

Añade tu respuesta

Haz clic para o