¿Macro pegar en una celda concriterio de otra?

Tengo una macro que copia y pega de un libro a otro, pero quiero que cuando pega en libro2 sea en un rango de celda que determina otra celda;ejemplo Libro2 quiero que pegue en B 300, 300 esta en la celda N1

Sub COPIA_OTRO_LIBRO()
Range("BV300:CB500").Select
Selection.Copy
Application.ScreenUpdating = False
Workbooks.Open ThisWorkbook.Path & "\LIBRO2.xlsm"
Sheets("Hoja1").Select
Range("B300").Select
ActiveSheet.Paste
End Sub

Ahora el rango tengo que estar metiendolo a mano.

1 Respuesta

Respuesta

[Hola

No lo tomes a mal (otra vez), pero hay que leer sobre VBA estimado, no solo preguntar o copiar/pegar. Lo más importante es entender.

La pregunta es demasiado básica:

Dim Valor as String

Valor = Range("N1").Value

....
Range(Valor).Select

Por cierto, no es necesario usar Select:

https://abrahamexcel.blogspot.com/2017/12/el-uso-y-abuso-de-select-y-selection-en.html

Abraham Valencia

Primero busco en San google, después algo similar o parecido en macros que tengo y si no veo nada pregunto en Foros.

Perdona mi torpeza ya me gustaría ser mejor en estos temas y no tener que andar preguntando en foros.

Bueno algo hice mal la macro esta ahora así

Sub COPIA_OTRO_PRUEBA()
Sub COPIA_OTRO_LIBRO()
Range("BV300:CB500").Select
Selection.Copy
Application.ScreenUpdating = False
Workbooks.Open ThisWorkbook.Path & "\LIBRO2.xlsm"
Sheets("Hoja1").Select
Dim Valor As String
Valor = Range("M1").Value
ActiveSheet.Paste
End Sub
End Sub

Y me pega en M2 cuando quiero que pegue En B300.

No se si me explique bien antes, en N1 ahora en macro M1 solo esta el dato 300.

Un Saludo.

No creo que seas torpe, no creo que mientas al decir que primero buscas respuesta en Google antes de preguntar, pero si usas tanto las macros, es hora de estudiarlas, o sea, leer mucho mucho y mucho. Eso.

En el libro de donde corres tu macro, en la hoja de los datos, escribe en la celda N1 esto: "B300" (obvio sin las comillas). Luego tu macro déjala así:

Sub COPIA_OTRO_LIBRO()
Dim Valor As String
Application.ScreenUpdating = False
Valor = Range("N1").Value
Range("BV300:CB500").Copy
Workbooks.Open ThisWorkbook.Path & "\LIBRO2.xlsm"
Sheets("Hoja1").Select
Range(Valor).Select
ActiveSheet.Paste
End Sub

Comentas

Abraham Valencia

Tu mismo lo decís leer leer y leer, tiempo es lo que me falta .Lo único eso si que las medio entiendo cuando me las dan.

Pasado al libro de pruebas, me da este error

Range(Valor).Select

Ahora tengo otra que me tiene loco abriré otro post.

Sin ver todo el código o saber qué hay exactamente en la ceda de donde la variable adquirió el valor, es imposible saber qué ocurre.

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas