Foros del Web » Soporte técnico » Ofimática »

Macro para copiar y pegar en otra hoja

Estas en el tema de Macro para copiar y pegar en otra hoja en el foro de Ofimática en Foros del Web. Hola tengo un problema con una macro, tengo una hoja de captura, necesito me copie todos los datos, y me los pegue en otra hoja ...
  #1 (permalink)  
Antiguo 01/08/2011, 18:08
 
Fecha de Ingreso: agosto-2011
Mensajes: 23
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Macro para copiar y pegar en otra hoja

Hola tengo un problema con una macro, tengo una hoja de captura, necesito me copie todos los datos, y me los pegue en otra hoja pero en forma "Trasponer" pero necesito me copie los datos una fila abajo de la ultima, y es ahí donde no puedo, agradeseria me ayudaran, abajo pongo un ejemplo

nombre
apellido paterno
apellido materno
fecha de nacimiento
region
zona
numero de cuenta
razón social

yo quiero que cada que llene las celdas con los datos y ejecute la macro se realice todo lo que explique arriba, de antemano muchas gracias
  #2 (permalink)  
Antiguo 01/08/2011, 20:54
Avatar de Monimo  
Fecha de Ingreso: noviembre-2007
Ubicación: Mexico Df
Mensajes: 742
Antigüedad: 16 años, 5 meses
Puntos: 69
Respuesta: Macro para copiar y pegar en otra hoja

Que llevas?! Para ver donde empezamos a ayudarte por lo q dices ya tienes la parte de copiar y trasponer, lo unico q debes hacer es hacer un ciclo que recorra desde la celda uno contando hasta q encuentre -vacío- esto " " y ahi obtienes la celda, seleccionas y pegas.
__________________
La verdad es que lo que no quisiera dejar de hacer nunca (a parte de comer) es programar
  #3 (permalink)  
Antiguo 03/08/2011, 10:50
 
Fecha de Ingreso: agosto-2011
Mensajes: 23
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Macro para copiar y pegar en otra hoja

Sheets("Captura").Select
Range("B3:B16").Select
Selection.Copy
Sheets("Base de datos").Select
Dim fila3 As Integer
fila3 = ActiveSheet.Range("C1000").End(xlUp).Row + 1
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Sheets("Base de datos").Select
Range("C1").Select
Selection.End(xlDown).Select
Range("C3:P3").Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("C4").Select
Application.CutCopyMode = False
Selection.End(xlUp).Select
End Sub

lo que tiene es que cuando la corro copia donde esta el cursos, entonces no aplica

gracias
  #4 (permalink)  
Antiguo 03/08/2011, 11:56
Avatar de Monimo  
Fecha de Ingreso: noviembre-2007
Ubicación: Mexico Df
Mensajes: 742
Antigüedad: 16 años, 5 meses
Puntos: 69
Respuesta: Macro para copiar y pegar en otra hoja

Intenta con esto:

Código:
Sub doit()
Sheets("Captura").Select
Range("B3:B16").Select
Selection.Copy
Sheets("Base de datos").Select

Dim var As String
Dim CUENTA As Integer
var = ActiveSheet.Cells(1000, 3).Value
CUENTA = 1

Do While var <> ""
var = ActiveSheet.Cells(1000 + CUENTA, 3).Value
CUENTA = CUENTA + 1
Loop

ActiveSheet.Cells(1000 + CUENTA, 3).Activate
row1 = ActiveCell.Row
col2 = ActiveCell.Column

ActiveSheet.Cells(row1 - 1, col2).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End Sub

Sí quieres saber que hace cada línea te recomiendo que en tu barra vertical lateral izquierda (a ladito del código) le des click hasta que salga un puntito rojo, y cuando corras la macro te va a "remarcar" on amarillo la línea que se va ejecutando con el código, para ir avanzando al siguiente paso solo oprime F8 y podrás ver con detalle lo que se realiza en pantalla
__________________
La verdad es que lo que no quisiera dejar de hacer nunca (a parte de comer) es programar
  #5 (permalink)  
Antiguo 03/08/2011, 13:47
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años
Puntos: 88
De acuerdo Macro para copiar y pegar en otra hoja

También lo puedes resolver con las siguientes dos líneas:

Código PHP:
Sheets("Captura").Range("B3:B16").Copy
Sheets
("Base de datos").Cells(Rows.Count"C").End(xlUp).Offset(1).PasteSpecial _
  Paste
:=xlPasteAllOperation:=xlNoneSkipBlanks:=FalseTranspose:=True 
Saludos, Cacho R.
  #6 (permalink)  
Antiguo 11/08/2011, 15:36
 
Fecha de Ingreso: agosto-2011
Mensajes: 23
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Macro para copiar y pegar en otra hoja

Cita:
Iniciado por mrocf Ver Mensaje
También lo puedes resolver con las siguientes dos líneas:

Código PHP:
Sheets("Captura").Range("B3:B16").Copy
Sheets
("Base de datos").Cells(Rows.Count"C").End(xlUp).Offset(1).PasteSpecial _
  Paste
:=xlPasteAllOperation:=xlNoneSkipBlanks:=FalseTranspose:=True 
Saludos, Cacho R.
Muchas gracias no habia visto este comentario, como ya habia resuelto la duda con el coentario anterior por eso, de todos modos muchas gracias, y lo usare para otro problema que tengo muchas gracias
  #7 (permalink)  
Antiguo 11/08/2011, 16:25
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años
Puntos: 88
Respuesta: Macro para copiar y pegar en otra hoja

Se entiende...

Lo que ocurre es que como no le habías agradecido a Monimo la ayuda prestada, tuve la sensación que aún estarías buscando alternativas.

Moraleja: es mejor ser una persona agradecida.
  #8 (permalink)  
Antiguo 11/08/2011, 20:47
 
Fecha de Ingreso: agosto-2011
Mensajes: 23
Antigüedad: 12 años, 8 meses
Puntos: 0
De acuerdo Respuesta: Macro para copiar y pegar en otra hoja

Cita:
Iniciado por mrocf Ver Mensaje
Se entiende...

Lo que ocurre es que como no le habías agradecido a Monimo la ayuda prestada, tuve la sensación que aún estarías buscando alternativas.

Moraleja: es mejor ser una persona agradecida.
Si lo siento esqe soy nuevo en esto del foro y no mas no se cuando me llegan las respuestas pero muchas gracias con esa respuesta conteste otra prefunta qe realize hoy

Etiquetas: macro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:45.