Foros del Web » Soporte técnico » Ofimática »

ayuda con macro de excel

Estas en el tema de ayuda con macro de excel en el foro de Ofimática en Foros del Web. Hola amigos de forosdelweb, me auxiliaron con una macro para no repetir informacion en un rango de celdas, y funciona correctamente, le pone las letras ...
  #1 (permalink)  
Antiguo 06/03/2010, 12:59
 
Fecha de Ingreso: diciembre-2003
Ubicación: Chihuahua
Mensajes: 23
Antigüedad: 20 años, 4 meses
Puntos: 0
ayuda con macro de excel

Hola amigos de forosdelweb, me auxiliaron con una macro para no repetir informacion en un rango de celdas, y funciona correctamente, le pone las letras de la "A" a la "L" en diferentes celdas sin repetir , mi pregunta es que en ves de poner las letras que tengo en la variable tarea ponga las tareas o el contenido de la celda que le corresponde, ejemplo para la letra A el valor que le corresponde se encuentra Z1,para la letra B le corresponde el contenido de Z2 y asi sucesivamente hasta la letra L que le corresponde el contenido Z12, les pongo el ejemplo que me dieron y dedusco que en la funcion Cell(2,I)=Mid(tarea,int(rnd(1)*len(tarea)+1),1 es en donde se puede realizar o generar una macro que despues de ejecutar el ejemplo que les muestro, me cambie los valores de A,B,C... por el contenido de un rango de celdas??????

Range("B2:L12").Select
Selection.ClearContents
tarea = "ABCDEFGHIJKL"
For I = 2 To 12
Cells(2, I) = Mid(tarea, Int(Rnd(1) * Len(tarea) + 1), 1)
tarea = Replace(tarea, Cells(2, I), "")
Next
For I = 2 To 12
For J = 3 To 12
tarea = "ABCDEFGHIJKL"
For K = 2 To J - 1
tarea = Replace(tarea, Cells(K, I), "")
Next
For K = 2 To I - 1
tarea = Replace(tarea, Cells(J, K), "")
Next
a = Mid(tarea, Int(Rnd(1) * Len(tarea) + 1), 1)
If a = "" Then
J = 3
Else
Cells(J, I) = Mid(tarea, Int(Rnd(1) * Len(tarea) + 1), 1)
End If
Next
Next

Etiquetas: excel, macro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:13.