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

Error 9 en tiempo de ejecucion. Subindice fuera del intervalo

Estas en el tema de Error 9 en tiempo de ejecucion. Subindice fuera del intervalo en el foro de Ofimática en Foros del Web. Buen dia Señores: Poseo un libro de excel en el cual existen unos datos en una hoja llamada "Plano" con unos formatos especiales de celdas ...
  #1 (permalink)  
Antiguo 11/03/2013, 13:10
Avatar de alexsc  
Fecha de Ingreso: febrero-2012
Ubicación: Bogota D.C.
Mensajes: 8
Antigüedad: 12 años, 2 meses
Puntos: 0
Pregunta Error 9 en tiempo de ejecucion. Subindice fuera del intervalo

Buen dia Señores:

Poseo un libro de excel en el cual existen unos datos en una hoja llamada "Plano" con unos formatos especiales de celdas y ancho de columnas. Estos datos lo necesito copiar en un libro de excel nuevo para poder guardar este ultimo como un archivo de tipo "Delimitado por espacios(*.prn).

Para ello realizo un paso intermedio consistente en copiar las filas que necesito de la hoja "Plano" a otra hoja dentro del mismo libro llamada "PlanoCopia" con la misma estructura y formato de la hoja "Plano" y desde aqui copio estos mismos datos a partir de la fila 1 hacia el nuevo libro para posteriormente guardarlo con extension .prn en determinada ruta.

Para ello he construido el siguiente codigo VBA incrustado en un boton:

Private Sub btn_Guardar_Plano_Click()

libroorigen = ThisWorkbook.Name
strHoja = ActiveSheet.Name 'la hoja se llama Plano

filasaborrar = Sheets("PlanoCopia").Range("A1").End(xlDown).Row
Sheets("PlanoCopia").Range("A1", "AB" & filasaborrar) = clearConntent

filasacopiar = Sheets(strHoja).Range("A13").End(xlDown).Row
Sheets(strHoja).Range("A13", "AB" & filasacopiar).Copy
Sheets("PlanoCopia").Range("A1", "AB" & filasacopiar).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
Range("A1").Select
Dim appExcel As Object
librodestino = "Libro1.xlsx"
Set appExcel = CreateObject("Excel.Application")
appExcel.Visible = True
appExcel.Workbooks.Add
Windows(libroorigen).Activate
Sheets("PlanoCopia").Select
Sheets("PlanoCopia").Copy before:=Workbooks(librodestino).Worksheets(1)
Application.DisplayAlerts = False
Workbooks("Pago.prn").SaveAs Filename:="S:\Pago.prn", FileFormat:=xlTextPrinter
Application.DisplayAlerts = False
ActiveWindow.Close

End Sub

Resulta que cuando ejecuto dicho codigo, me genera un Error 9 en tiempo de ejecucion. Subindice fuera del intervalo cuando llega a la linea de codigo Sheets("PlanoCopia").Copy before:=Workbooks(librodestino).Worksheets(1)

Podrian por favor ayudarme a encontrar la causa que produce este error para poder corregirlo?? Le he modificado de muchas maneras pero no doy con el chiste

Les agradezco muchisimo su valiosa colaboración y pronta respuesta. Saludos

Etiquetas: excel, vba
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 13:08.