Un detalle con lenguaje VBA sobre un rango
En un libro de excel, dentro de una de sus hojas, tengo una macro programada para que me pegue siempre el mismo rango. El código es el siguiente:
Sub CopiaRango()
Set celdas = Range("Rango")
fini = celdas.Cells(1, 1).Row
ffin = fini + celdas.Rows.Count - 1
filas = celdas.Rows.Count
cini = celdas.Cells(1, 1).Column
cfin = cini + celdas.Columns.Count - 1
'
u = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
For i = ffin + 3 To u + filas + 3 Step filas + 2
Set destino = Range(Cells(i, cini), Cells(i + filas - 1, cfin))
contara = Application.CountA(destino)
If contara = 0 Then
celdas.Copy destino
Exit For
End If
Next
MsgBox "Rango de celdas copiado", vbInformation
Luego, para que me traslade la información contenida en una de las celdas del rango que se va copiando una y otra vez, a una base de datos que se va nutriendo de dicha información de dicha celda, he intentado este código:
Sub Traspaso()
'
' Traspaso Macro
'
'
Range("Rango").Select
ActiveCell.Offset(2, 1).Select
Selection.Copy
Sheets("Análisis").Select
Range("B6").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Escandallaje").Select
Range("C6").Select
End Sub
Y sale bien, salvo por un detalle: me copia siempre la información contenida en la celda del rango original. Y yo quisiera que fuera a la celda de cada rango que se copia donde está dicha información (esa celda siempre está en el mismo lugar dentro del rango que se copia: 2ª fila y 2ª columna), y la pegue en la base de datos. ¿Qué puedo hacer para que eso ocurra?