Macro para copiar ciertas columnas

Elsamatilde!

La otra vez me ayudaste a crear una macro que me ayude a copiar ciertas columnas de una celda cualquiera donde yo haga click.

Sub MacroCopia()
'x Elsamatilde
'copiar col B,C,D,F,G,K,L,M,N,O,P,R,S
x = Selection.Row
rgo = "B" & x & ":D" & x & "," & "F" & x & ":G" & x & "," & "K" & x & ":P" & x & "," & "R" & x & ":S" & x
Range(rgo).Copy
End Sub

La cuestión es que me gustaría que también pueda copiar aquellas columnas pero seleccionando varias filas. Es decir, si selecciono la fila B9, B10, B11, B12 (sin importar en qué columna esté parado) quiero que copie las columnas A,B,C,D,F,G,L,M,N,O,P,Q,T (las ultimas letras no son iguales que el código que pasaste porque yo las modifique).

Espero que me puedas ayudar

Saludos!

Respuesta
1

Sub MacroCopiaVs()
'x Elsamatilde
'copiar col B,C,D,F,G,K,L,M,N,O,P,R,S de vs.celdas seleccionadas
diré = Selection.Address
For Each cd In Selection
x = cd.Row
If rgo = "" Then
rgo = "A" & x & ":D" & x & "," & "F" & x & ":G" & x & "," & "L" & x & ":P" & x & "," & "Q" & x
Else
rgo = rgo & ",A" & x & ":D" & x & "," & "F" & x & ":G" & x & "," & "L" & x & ":P" & x & "," & "Q" & x
End If
Next
Range(rgo).Select
End Sub

Controlá si están todas las letras, probala y comentame.

Faltó la letra T:

Esta es la correcta:

Sub MacroCopiaVs()
'x Elsamatilde
'copiar col B,C,D,F,G,K,L,M,N,O,P,R,S de vs.celdas seleccionadas
diré = Selection.Address
For Each cd In Selection
x = cd.Row
If rgo = "" Then
rgo = "A" & x & ":D" & x & "," & "F" & x & ":G" & x & "," & "L" & x & ":Q" & x & "," & "T" & x 
Else
rgo = rgo & ",A" & x & ":D" & x & "," & "F" & x & ":G" & x & "," & "L" & x & ":Q" & x & "," & "T" & x 
End If
Next
Range(rgo).Copy
End Sub

Y la última instrucción es Copy en lugar de Select.

Sdos

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas