Copiar la ultima columna a otra hoja

Experto, necesito una macro que me ayude a copiar la ultima columna (esta columna es variada, puede estar en cualquier lugar ejm A, B, C... Etc)de una hoja a otra, por favor necesito su ayuda
Esperando una respuesta rapido medespido con atención!

1 Respuesta

Respuesta
1
Necesito saber si tienes valores en todas tus celdas o puede darse el caso que la columna que quieras copiar tenga celdas vacías, para saber cual es la columna última que necesitamos copiar tenemos que situarnos en una fila con datos para poder desplazarnos a la ultima celda y seleccionar la columna.
Aclaramé esta cuestion.
>Un saludo
>Julio
Julio:
Puede que esta ultima columna que quiero copiar tenga o no dato en la ultima celda, esta columna es producto de la suma devarias columnas quie tienen datos en celdas y otras son vacías, así que estacolumna tiene celdas vacías y tiene un rago de 40 filas.
Esperando una una respuesta pronta. Gracias
Pues entonces como me sitúo en la ultima columna si desconocemos cual es y encima no tengo referencia de que la celda tenga datos... que quieres que comprobemos las 40 filas para saber cual es la ultima celda de cada fila con datos y esa es la que elegimos. Mira a ver si te sirve esto, pero como tengas celdas por medio vacías también tendremos que rompernos a cabeza para localizar alguna referencia:
Sub Comprobar()
Dim mi_celda As String
Dim x As Long
Dim celda As Long
Dim celda1 As Long
Dim mi_columna As Long
Range("A1").Select
mi_celda = ActiveCell.Address
ActiveCell.End(xlToRight).Select
celda = ActiveCell.Column
Range(mi_celda).Offset(1, 0).Select
mi_celda = ActiveCell.Address
ActiveCell.End(xlToRight).Select
celda1 = ActiveCell.Column
If celda > celda1 Then
mi_columna = celda
Else
mi_columna = celda1
End If
For x = 1 To 40
Range(mi_celda).Offset(1, 0).Select
mi_celda = ActiveCell.Address
ActiveCell.End(xlToRight).Select
celda = ActiveCell.Column
If celda > mi_columna Then
mi_columna = celda
Else
mi_columna = mi_columna
End If
Next x
Cells(1, mi_columna).Select
celdaINI = ActiveCell.Address
ActiveCell.Offset(65535, 0).Select
celdaFIN = ActiveCell.Address
Range(celdaINI, celdaFIN).Select
'Ya tenemos seleccionada la ultima columna completa ahora pones tú el codigo de lo que quieres hacer con ella
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas