como hago para realizar los siguiente?

07/10/2003 - 13:09 por Ana | Informe spam
Hola a todos

Mi problema es el siguiente:
Tengo un libro con 4 hojas, en la primera una tabla que
copio y pego de internet ..en la segunda hoja necesito lo
que hay en la columna B de la primera hoja en la fila B5
de la hoja2, en la fila B5 de la hoja3 lo que hay en la
columna F de la primera hoja , y en la fila B5 de la hoja
3 lo que hay en la columna J de la primera hoja .
Todos los dias la primera hoja se actualisa y quiero
copiar lo de las columnas mensionadas en las respectivas
filas de cada hoja por fecha.
Puedo pegar las columnas en filas pero quiero que avance
una fila mas para copiar la nueva fila .
El resultado de las hojas 2,3,4 seria algo asi:

Ej

date valor1 valor2 valor3
6/10/03 1 0.8 1.2
7/10/03 1.5 1 1.5


Como hago apra que en la macro donde selecciono y copio ,
me lo copie en la siguiente linea vacia ???

Gracias
Ana

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
07/10/2003 - 13:33 | Informe spam
Desde VBA, puedes averiguar la última fila ocupada en una columna usando algo como:

variableTipoLong = Worksheets("Hoja1").Range("A65536").End(xlUp).Row

En este caso, se obtendría la última fila no vacía de la columna A.
Sin ver tu código, no puedo decirte nada más.
Un saludo.


Fernando Arroyo
MS MVP - Excel

"Ana" escribió en el mensaje news:10c601c38cc3$773c2e90$
Hola a todos

Mi problema es el siguiente:
Tengo un libro con 4 hojas, en la primera una tabla que
copio y pego de internet ..en la segunda hoja necesito lo
que hay en la columna B de la primera hoja en la fila B5
de la hoja2, en la fila B5 de la hoja3 lo que hay en la
columna F de la primera hoja , y en la fila B5 de la hoja
3 lo que hay en la columna J de la primera hoja .
Todos los dias la primera hoja se actualisa y quiero
copiar lo de las columnas mensionadas en las respectivas
filas de cada hoja por fecha.
Puedo pegar las columnas en filas pero quiero que avance
una fila mas para copiar la nueva fila .
El resultado de las hojas 2,3,4 seria algo asi:

Ej

date valor1 valor2 valor3
6/10/03 1 0.8 1.2
7/10/03 1.5 1 1.5


Como hago apra que en la macro donde selecciono y copio ,
me lo copie en la siguiente linea vacia ???

Gracias
Ana

Respuesta Responder a este mensaje
#2 Ana
07/10/2003 - 15:56 | Informe spam
Lo que tengo de codigo es lo siguiente :
Solo selecciono la columna y la pego como fila , siempre
en el mismo lugar :=(

Sub Macro1()
Range("B4:B53").Select
Selection.Copy
Sheets("Local Currency").Select
Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteAll,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True

Sheets("Download").Select
Range("F4:F53").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Unhedged").Select
Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteAll,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True


Sheets("Download").Select
Range("J4:J53").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Hedged").Select
Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteAll,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True

End Sub



Desde VBA, puedes averiguar la última fila ocupada en


una columna usando algo como:

variableTipoLong = Worksheets("Hoja1").Range


("A65536").End(xlUp).Row

En este caso, se obtendría la última fila no vacía de la


columna A.
Sin ver tu código, no puedo decirte nada más.
Un saludo.


Fernando Arroyo
MS MVP - Excel

"Ana" escribió en el mensaje


news:10c601c38cc3$773c2e90$
Hola a todos

Mi problema es el siguiente:
Tengo un libro con 4 hojas, en la primera una tabla




que
copio y pego de internet ..en la segunda hoja necesito




lo
que hay en la columna B de la primera hoja en la fila




B5
de la hoja2, en la fila B5 de la hoja3 lo que hay en




la
columna F de la primera hoja , y en la fila B5 de la




hoja
3 lo que hay en la columna J de la primera hoja .
Todos los dias la primera hoja se actualisa y quiero
copiar lo de las columnas mensionadas en las




respectivas
filas de cada hoja por fecha.
Puedo pegar las columnas en filas pero quiero que




avance
una fila mas para copiar la nueva fila .
El resultado de las hojas 2,3,4 seria algo asi:

Ej

date valor1 valor2 valor3
6/10/03 1 0.8 1.2
7/10/03 1.5 1 1.5


Como hago apra que en la macro donde selecciono y




copio ,
me lo copie en la siguiente linea vacia ???

Gracias
Ana



.

Respuesta Responder a este mensaje
#3 Fernando Arroyo
07/10/2003 - 17:08 | Informe spam
Si he entendido el código que adjuntas, lo que necesitas es copiar tres rangos verticales de la hoja "Download" y pegarlos, transponiéndolos, en otras tres hojas, en la primera celda vacía de la columna B, a partir de la fila 6.
Si es esto, el siguiente código debería servirte:

Sub prueba()
With Worksheets("Download")
.Range("B4:B53").Copy
Worksheets("Local Currency").Cells(IIf(Worksheets("Local Currency").Range("B65536").End(xlUp).Row >= 5, Worksheets("Local Currency").Range("B65536").End(xlUp).Row + 1, 6), 2).PasteSpecial Transpose:=True
.Range("F4:F53").Copy
Worksheets("Unhedged").Cells(IIf(Worksheets("Unhedged").Range("B65536").End(xlUp).Row >= 5, Worksheets("Unhedged").Range("B65536").End(xlUp).Row + 1, 6), 2).PasteSpecial Transpose:=True
.Range("J4:J53").Copy
Worksheets("Hedged").Cells(IIf(Worksheets("Hedged").Range("B65536").End(xlUp).Row >= 5, Worksheets("Hedged").Range("B65536").End(xlUp).Row + 1, 6), 2).PasteSpecial Transpose:=True
End With
Application.CutCopyMode = False
End Sub


pero te aconsejo que lo pruebes en una copia del libro, no vaya a ser que no haga lo que necesitas y te masacre algún dato.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Ana" escribió en el mensaje news:13fb01c38cda$d37bc910$
Lo que tengo de codigo es lo siguiente :
Solo selecciono la columna y la pego como fila , siempre
en el mismo lugar :=(

Sub Macro1()
Range("B4:B53").Select
Selection.Copy
Sheets("Local Currency").Select
Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteAll,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True

Sheets("Download").Select
Range("F4:F53").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Unhedged").Select
Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteAll,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True


Sheets("Download").Select
Range("J4:J53").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Hedged").Select
Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteAll,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True

End Sub
Respuesta Responder a este mensaje
#4 ana
07/10/2003 - 17:39 | Informe spam
super!!!!!!!
Mil gracias
ana
Si he entendido el código que adjuntas, lo que necesitas


es copiar tres rangos verticales de la hoja "Download" y
pegarlos, transponiéndolos, en otras tres hojas, en la
primera celda vacía de la columna B, a partir de la fila
6.
Si es esto, el siguiente código debería servirte:

Sub prueba()
With Worksheets("Download")
.Range("B4:B53").Copy
Worksheets("Local Currency").Cells(IIf(Worksheets


("Local Currency").Range("B65536").End(xlUp).Row >= 5,
Worksheets("Local Currency").Range("B65536").End
(xlUp).Row + 1, 6), 2).PasteSpecial Transpose:=True
.Range("F4:F53").Copy
Worksheets("Unhedged").Cells(IIf(Worksheets


("Unhedged").Range("B65536").End(xlUp).Row >= 5,
Worksheets("Unhedged").Range("B65536").End(xlUp).Row + 1,
6), 2).PasteSpecial Transpose:=True
.Range("J4:J53").Copy
Worksheets("Hedged").Cells(IIf(Worksheets


("Hedged").Range("B65536").End(xlUp).Row >= 5, Worksheets
("Hedged").Range("B65536").End(xlUp).Row + 1, 6),
2).PasteSpecial Transpose:=True
End With
Application.CutCopyMode = False
End Sub


pero te aconsejo que lo pruebes en una copia del libro,


no vaya a ser que no haga lo que necesitas y te masacre
algún dato.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Ana" escribió en el mensaje


news:13fb01c38cda$d37bc910$
Lo que tengo de codigo es lo siguiente :
Solo selecciono la columna y la pego como fila , siempre
en el mismo lugar :=(

Sub Macro1()
Range("B4:B53").Select
Selection.Copy
Sheets("Local Currency").Select
Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteAll,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True

Sheets("Download").Select
Range("F4:F53").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Unhedged").Select
Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteAll,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True


Sheets("Download").Select
Range("J4:J53").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Hedged").Select
Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteAll,
Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True

End Sub


.

Respuesta Responder a este mensaje
#5 Santi
21/11/2003 - 01:41 | Informe spam
Ana escribió en un mensaje titulado "como hago para realizar los
siguiente?":

El resultado de las hojas 2,3,4 seria algo asi:

Ej

date valor1 valor2 valor3
6/10/03 1 0.8 1.2
7/10/03 1.5 1 1.5


Como hago apra que en la macro donde selecciono y copio ,
me lo copie en la siguiente linea vacia ???



Utiliza una celda para contar las filas que están escritas.
Por ejemplo CONTARA(A:A)+1
(el uno se suma para que utilice la siguiente, que será la primera
vacía)
Esa fórmula la puedes poner en una columna oculta, o en una celda con el
mismo color de tinta que de fondo, para que no se vea, pues sólo se
utilizará para los cálculos)

Luego, en la macro pones lo siguiente.
(Supongamos que la celda con esa fórmula es la H1)

Range("H1").Select
Final = ActiveCell.Value
Cells(Final, 1).Select

La primera línea, selecciona la celda donde tienes la fórmula que indica
en qué línea debe escribir los datos
La segunda línea, asigna ese valor a la variable Final
y la tercera, selecciona la celda en la que tienes que empezar a
escribir

A partir de ahí, puedes seguir con tu macro escribiendo en esa posición
lo que necesites.

Un saludo
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida