Consulta sobre macros

Una consulta, he elaborado una hoja de calculo con macros.. Ahora lo que deseo y he intentado es que esa misma hoja me genere otra (copia) a manera de reporte, donde yo designe el nombre y la mueva al ultimo, en mi rutina he logrado crear una hoja con su respectivo nombre, lo que me extraña es que no consigo copiar el contenido de la hoja original en la nueva, ojala hayas entendido mi pregunta, te envío la rutina que emplee.
Saludos
Oscar
Private Sub Reporte_Click()
Dim nbreHoja As String
nbreHoja = InputBox("Ingrese Nombre de la hoja para generar el Reporte:")
If nbreHoja <> "" Then
'se agrega una hoja al final
ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
'se le asigna el nombre ingresado
ActiveSheet.name = nbreHoja
Sheets("RMR-CSMR").Select
Cells.Select
Selection.Copy
Sheets(nbreHoja).Select
Cells.Select /***AQUI ME SALE EL PROBLEMA NO RECONOCE ESTE PASO cells.select ***/
ActiveSheet.Paste
Range("A14:G14").Select
Sheets("RMR-CSMR").Select
Range("A14:G14").Select
End If
End Sub

1 respuesta

Respuesta
1
Según mi criterio, ya no tienes que indicarle que seleccione el rango en donde va a copiar los datos que traes en memoria.
Te lo agradezco.. soy autodidacta en esto, manejo programación pero en entorno dos .. esta de ventanas y hojas aun me estoy acostumbrando.. gracias
Bien con tu criterio, ahora si pega el contenido en la nueva hoja, perfecto.. pero... deseo abusar de tu confianza otra vez... en esa nueva hoja deseo eliminar un rango de celdas y me sale otra vez error.. te envío la codificación que emplee, te señalo la parte que falla el resto esta ok..
Gracias
Sheets("RMR-CSMR").Select
Cells.Select
Selection.Copy
Sheets(nbreHoja).Select
ActiveSheet.Paste
Sheets(nbreHoja).Select
Range("B69:e72").Select /* este rango no desea reconocerlo*/
Application.CutCopyMode = False
Selection.ClearContents
Sheets("RMR-CSMR").Select
Range("G69").Select
End If
End Sub
Haber, creo que el problema se pone de la siguiente forma:
Sheets("RMR-CSMR").Select
Cells.Select
Selection.Copy
Sheets(nbreHoja).Select
ActiveSheet.Paste
Sheets(nbreHoja).Select
ActiveSheet.Range("B69:e72").Select /* esto según yo, sería lo que se cambia*/
Application.CutCopyMode = False
Selection.ClearContents
Sheets("RMR-CSMR").Select
Range("G69").Select

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas