En una macro se ha producido el error 9 en tiempo de ejecución subíndice fuera del intervalo ayuda

Herede una macro con problemas, e leído por varios foros y no he podido acertar con la solución, este el código

Sub sinmail()
Dim nbrpln As String
Dim vendedor As String
Dim archi, i As Integer
vendedor = Range("k5")
cliente = Range("d7")
nbre = vendedor & cliente & Format(Now, "ddmmyyhhmmss") & " " & Range("AX1")
nbrpln = ThisWorkbook.Name
ruta = ThisWorkbook.Path
Workbooks.Add.SaveAs Filename:=ruta & "\" & nbre, FileFormat:=xlNormal
Workbooks(nbrpln).Activate
Sheets("Exportar Resumen CC").Visible = True
Sheets("Exportar Resumen CC").Select
Range("a1:l20").Select
Selection.Copy
Workbooks(nbre).Activate
Sheets("hoja2").Select
Sheets("hoja2").Name = "Control CC"
Range("a1:a1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Workbooks(nbrpln).Activate
Sheets("Exportar Resumen CC").Select
Range("a1:l20").Select
Selection.Copy
Workbooks(nbre).Activate
Sheets("Control CC").Select
Range("a1:a1").PasteSpecial Paste:=xlFormats
Workbooks(nbrpln).Activate
Sheets("Exportar Resumen CC").Visible = xlSheetVeryHidden
Sheets("Exportar NV").Visible = True
Sheets("Exportar NV").Select
Range("a1:aw79").Select
Selection.Copy
Workbooks(nbre).Activate <------------------- aquí me arroja el problema
Sheets("hoja1").Select
Sheets("hoja1").Name = "Softland"
Range("a1:a1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Workbooks(nbrpln).Activate
Sheets("Exportar NV").Visible = xlSheetVeryHidden
Sheets("NP1").Select
Range("a1:n80").Select
Selection.Copy
Workbooks(nbre).Activate
Sheets("hoja3").Select
Sheets("hoja3").Name = "Nota de Pedido"
Range("a1:a1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Workbooks(nbrpln).Activate
Sheets("NP1").Select
Range("a1:n80").Select
Selection.Copy
Workbooks(nbre).Activate
Sheets("Nota de Pedido").Select
Range("a1:a1").PasteSpecial Paste:=xlFormats
ActiveWindow.DisplayZeros = False
Workbooks(nbre).Close SaveChanges:=True
Workbooks(nbrpln).Close SaveChanges:=False
End Sub

Se los agradecería bastante ya que hartos dolores me ha dado

1 respuesta

Respuesta
1

No tiene mucho sentido que te marque error en esa instrucción, cuando anteriormente ya se usó sin problemas.

Mejor ejecutala nuevamente y observá con cuidado cuál es la línea de color que marca el depurador.

Si se trata de la 1ra vez que aparece la instrucción: Workbooks(nbre). Activate, colocá por encima la sgte. Instrucción y así podrás observar si el nombre del libro es correcto:

Msgbox nbre

Luego comentame los resultados de estas pruebas.

yo entiendo que debería funcionar sin problemas, ya que este error me lo genera en algunos equipos, tanto con win xp, win 7 y win 8, con office 2007, 2010 y 2013, pero tengo equipos que funcionan sin problemas, e reinstalado pc y el problema igual lo tienen, ademas e instalado los parches correspondientes, por eso estoy como complicado ya que funciona pero tampoco funciona cuek.... ya me han salido 2 canas jajajajaja

Respondiendo a tu respuesta anterior, el depurador me marca

Workbooks(nbre).Activate

y no sale de ahi, la función que hace este es generar un archivo sin enviar por mail y cuando encontré una solución parcial fue que en opciones del excel 2013 que por defecto viene con 1 hoja activa lo deje con 3 hojas y funciono, pero en otros 2013 no me funka

Reitero todo lo dicho anteriormente:

Mejor ejecutala nuevamente y observá con cuidado cuál es la línea de color que marca el depurador.
Si se trata de la 1ra vez que aparece la instrucción: Workbooks(nbre). Activate, colocá por encima la siguiente. Instrucción y así podrás observar si el nombre del libro es correcto:
Msgbox nbre


No tiene mucho sentido que marque error en la que marcaste porque en lineas anteriores ya estaba esa instrucción ... y no te marcó error?


Si necesitas enviarme el libro para que revise (luego de que revises esto que te menciono), podes copiar el correo que aparece en mi sitio que dejo al pie.


Pido mil disculpas por la información errónea que entregue el problema estaba en la parte superior del código y es cuando manda seleccionar la hoja 2 del libro activo

Sub sinmail()
Dim nbrpln As String
Dim vendedor As String
Dim archi, i As Integer
vendedor = Range("k5")
cliente = Range("d7")
nbre = vendedor & cliente & Format(Now, "ddmmyyhhmmss") & " " & Range("AX1")
nbrpln = ThisWorkbook.Name
ruta = ThisWorkbook.Path
Workbooks.Add.SaveAs Filename:=ruta & "\" & nbre, FileFormat:=xlNormal
Workbooks(nbrpln).Activate
Sheets("Exportar Resumen CC").Visible = True
Sheets("Exportar Resumen CC").Select
Range("a1:l20").Select
Selection.Copy
MsgBox nbre <------------------------ el nombre del archivo es VO010081113090114
Workbooks(nbre).Activate <---------- aquí marca el error de depuración
Sheets("hoja2").Select
Sheets("hoja2").Name = "Control CC"
Range("a1:a1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Workbooks(nbrpln).Activate
Sheets("Exportar Resumen CC").Select
Range("a1:l20").Select

Workbooks(nbre).Activate
Sheets("hoja1").Select
Sheets("hoja1").Name = "Softland"
Range("a1:a1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Workbooks(nbrpln).Activate
Sheets("Exportar NV").Visible = xlSheetVeryHidden
Sheets("NP1").Select
Range("a1:n80").Select
Selection.Copy
Workbooks(nbre).Activate
Sheets("hoja3").Select
Sheets("hoja3").Name = "Nota de Pedido"
Range("a1:a1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Workbooks(nbrpln).Activate
Sheets("NP1").Select
Range("a1:n80").Select
Selection.Copy
Workbooks(nbre).Activate
Sheets("Nota de Pedido").Select
Range("a1:a1").PasteSpecial Paste:=xlFormats
ActiveWindow.DisplayZeros = False
Workbooks(nbre).Close SaveChanges:=True
Workbooks(nbrpln).Close SaveChanges:=False
End Sub

Gracias por tu paciencia Elsa

Desmenucemos entonces el nombre de libro:

<strong style="line-height: 1.5em;">VO010 081113090114

<strong style="line-height: 1.5em;">

<strong style="line-height: 1.5em;">VO010 = vendedor & cliente

<strong style="line-height: 1.5em;">081113090114 = Format(Now, "ddmmyyhhmmss")

<strong style="line-height: 1.5em;">

Luego faltaría: & " " & Range("AX1"), que si la celda está vacía solo se agrega el espacio al nombre...

¿Y la extensión? Para usar la instrucción Workbooks(nbre). Activate debes indicarle también la extensión. Quizás ese dato se encuentre en Range("AX1") y te está faltando.

O debes colocarla en la misma instrucción:

Workbooks(nbre & ".xls").Activate


Sdos

Elsa

http://aplicaexcel.galeon.com/manuales.htm


<strong style="line-height: 1.5em;">

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas