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

[SOLUCIONADO] macro para crear nueva columna usando valores de otras dos

Estas en el tema de macro para crear nueva columna usando valores de otras dos en el foro de Ofimática en Foros del Web. Muy buenos días, a ver si me podéis ayudar, estaría muy agradecido. Tengo una tabla excel con 15,000 filas de datos, todos ellos texto. Necesito, ...
  #1 (permalink)  
Antiguo 14/06/2014, 02:18
 
Fecha de Ingreso: junio-2014
Mensajes: 1
Antigüedad: 9 años, 10 meses
Puntos: 0
Pregunta macro para crear nueva columna usando valores de otras dos

Muy buenos días,

a ver si me podéis ayudar, estaría muy agradecido.

Tengo una tabla excel con 15,000 filas de datos, todos ellos texto.

Necesito, una macro que inserte una columna justo después de una llamada "KKS", el nombre de la nueva columna sería el mismo "KKS".

En cada celda de esta nueva columna debería tomar los textos de la correspondiente antigua columna "KKS", añadiendo delante el texto correspondiente de una columna adyacente llamada "Unit ID".

Ejemplo de una de las filas:
"Unit ID"= 10
"KKS" (antigua)= MBA10AT001
"KKS" (nueva)= 10MBA10AT001

Lo de los colores es sólo para resaltar como se "suman" los valores.

Muchas gracias por adelantado por vuestra ayuda.
Mariano
  #2 (permalink)  
Antiguo 14/06/2014, 17:54
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: macro para crear nueva columna usando valores de otras dos

Suponiendo que la columna Unit ID es la D y KKS es la E (4 y 5, respectivamente), entonces la nueva KKS será la F (6).

Código VBA:
Ver original
  1. ' Este código debe estar en la misma hoja y no en módulos
  2. Sub creaColumna()
  3.     Dim fila as Long
  4.     ' Lo primero es establecer el título de la nueva columna
  5.     Cells(1, 6).Value = "KKS"
  6.     ' Inicias en la fila 2 y hasta que se encuentre un valor vacío
  7.     fila = 2
  8.     Do While Not IsEmpty(Cells(fila, 5).Value)
  9.          ' El operador & es para unir cadenas (AKA "concatenar")
  10.          Cells(fila, 6).Value = Cells(fila, 4).Value & Cells(fila, 5).Value
  11.          fila = fila + 1
  12.     Loop
  13. End Sub

Ahora solo ejecuta la macro y listo!
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: 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 08:24.