ESTE CODIGO ME DA UN PROBLEMA DE TIEMPO DE EJECUCION Y NO LO ENTIENDO.

03/06/2009 - 01:33 por Anonimo | Informe spam
Me da un problema de que al ejecutar por primera vez la macro resulta que me
dice que es un fallo en tiempo de ejecucion, y sin embargo si le vuelvo a
dar 15 veces sin mas lo realiza sin el mas minimo problema.

Excel 2007 y Gracias

Sub uno()

Dim varCuentaHojas As Integer: varCuentaHojas = Sheets.Count
Dim varUltfila As Integer: varUltfila = Range("b20000").End(xlUp).Row


'Crear una hoja antes de la Hoja de Toma de datos
Sheets.Add before:=Sheets(varCuentaHojas)

'Ensanchar las columnas a,b,c
Range("A:C").ColumnWidth = 45

'Pegar los datos de la web Federacion Cantabra de Futbol en las hojas
Range("a1:c1").PasteSpecial

'Quitar filas que ponga encuentro

With Range("e1:e" & varUltfila)

.Formula = "=+IF(A1=""Encuentro"",#N/A,1)"

.SpecialCells(xlCellTypeFormulas, 16).EntireRow.Delete

.Clear

End With

'Quitar las filas que ponga Jornada y copiarlas en una columna A de nueva
creacion
Columns(1).Insert




End Sub
 

Leer las respuestas

#1 Héctor Miguel
03/06/2009 - 06:23 | Informe spam
hola (...), ?????

Me da un problema de que al ejecutar por primera vez la macro resulta que me dice que es un fallo en tiempo de ejecucion
y sin embargo si le vuelvo a dar 15 veces sin mas lo realiza sin el mas minimo problema.
Excel 2007 y Gracias



supongo que parte del error (que no comentas cual es ni que linea lo provoca)
se deriva de que la copia de datos/rango/... la haces ANTES de correr la macro (?)
y ya despues, el codigo no puede "interpretarlos" como si hicieras un "pegado" desde el portapapeles :((

=> prueba haciendo la copia de los datos/rango/... DESDE LA MISMA MACRO que hace el pegado (p.e.)

Dim varCuentaHojas As Integer: varCuentaHojas = Sheets.Count
Dim varUltfila As Integer: varUltfila = Range("b20000").End(xlUp).Row

'Copiar los datos desde la macro que los pega en otra hoja...
Range("a1").CurrentRegion.Copy

'Crear una hoja antes de la Hoja de Toma de datos
Sheets.Add Before:=Sheets(varCuentaHojas)

(etc. etc. etc.)

saludos,
hector.

__ (FRACCIONES DEL) codigo expuesto __
Sub uno()

Dim varCuentaHojas As Integer: varCuentaHojas = Sheets.Count
Dim varUltfila As Integer: varUltfila = Range("b20000").End(xlUp).Row


'Crear una hoja antes de la Hoja de Toma de datos
Sheets.Add before:=Sheets(varCuentaHojas)

'Ensanchar las columnas a,b,c
Range("A:C").ColumnWidth = 45

'Pegar los datos de la web Federacion Cantabra de Futbol en las hojas
Range("a1:c1").PasteSpecial

'Quitar filas que ponga encuentro

With Range("e1:e" & varUltfila)

.Formula = "=+IF(A1=""Encuentro"",#N/A,1)"

.SpecialCells(xlCellTypeFormulas, 16).EntireRow.Delete

.Clear

End With

'Quitar las filas que ponga Jornada y copiarlas en una columna A de nueva creacion
Columns(1).Insert

End Sub

Preguntas similares