Necesito una macro para hacer claves con letras que equivalen a un numero del 0 al 9 en otra columna, y se ejecute automaticamen

Necesito que la información de código y descripción de productos se copie en otra pestaña y en esta hoja de resultados reemplazar la columna de stock que tiene números (que pueden tener decimales), reemplazar por determinadas letras, generando códigos alfabéticos representativos de valores:

M = 1

U = 2

R = 3

C = 4

I = 5

E = 6

L = 7

A = 8

G = 9

O = 0

Necesito que el macro se ejecute automáticamente dejando en una pestaña la información original, y en la segunda los resultados

Muchas gracias por su ayuda [email protected]!!!!

1

1 Respuesta

191.425 pts. Si de mis mayores gustos, mis disgustos han nacido,...

Es más fácil ayudarte si subes un ejemplo de como esta estructurada tu información por ejemplo la columna stock cual es la A, la B, la C, ¿y específicamente a que te refieres con que se ejecute automáticamente?

Gracias por responder.

No se que debo copiar diferente, pero ahora cada vez que necesito hacer esto debo abrir la ventana de macros y hacer clic en la opción de "ejecutar macro".

Tengo una pestaña en donde copio la información.  La columna G tiene los números que quiero cambiar por letras.  En otra pestaña necesito copiar las columnas y cambiar los números de G por las letras.  Como resultado mantengo la información original en una pestaña y en otra el resultado que finalmente copio sin formulas en la pestaña para imprimir

Gracias nuevamente

Para que no abras a cada rato el modulo VBA y correr la macro puedes ponerle un boton como en la imagen, solo lo oprimes y listo, copia a la hoja copia y transforma y la codifica en la columna G

Este es el resultado en la hoja copia y transforma

y esta es la macro

Sub codificar()
Set h1 = Worksheets("pega reporte")
Set h2 = Worksheets("copia y transforma")
CLAVES = Array("O", "M", "U", "R", "C", "I", "E", "L", "A", "G")
With h2
    h1.Cells.Copy
    .Cells.PasteSpecial
    .Select
    For I = 0 To 9
        Range("G:G").Replace WHAT:=I, REPLACEMENT:=CLAVES(I)
    Next I
    Range("G:G").EntireColumn.AutoFit
End With
End Sub

Hola,

Al correr el macro me da error:

"Subíndice fuera de intervalo"

Checa que los nombres de las hojas coincidan con los que están en las dos primeras líneas ese error se da cuando no existen las hojas o cuando el nombre de la hoja es diferente al que esta en la macro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas