Reemplazar

31/03/2005 - 17:02 por NOEŽS | Informe spam
Hola la tengo problema con este codigo no se si me
equivoque en algo pero no se ejecuta solo me aparece el
MsgBox ("Finalizó") pero no parece lo deseado, de antemano
gracias por su ayuda, el porblema por el cual no lo hago
con reemplazar es que son varias hojas de un libro y se
tarda demasiado.

Sub reemplazar()
Dim R As Range
On Error GoTo Fin
For h% = 1 To 100
For Each R In ActiveSheet.Range("A1:Z1000")
If IsNull(R) Then: R = 0
Next
ActiveSheet.Next.Select
Next h%
Fin: MsgBox ("Finalizó")
End Sub

Preguntas similare

Leer las respuestas

#1 KL
31/03/2005 - 20:48 | Informe spam
Hola NOE´S,

Puedes probar este codigo modificadoÑ

Sub reemplazar()
Dim R As Range
On Error GoTo Fin
For h% = 1 To 100
Sheets(h%).Select
For Each R In Sheets(h%).Range("A1:Z1000")
If IsEmpty(R) Then R = 0
Next R
Next h%
Fin:
MsgBox "Finalizó"
End Sub

Pero si te he entendido bien que es lo que quieres hacer, prueba mejor el
siguiente sera veces mas rapido:

Sub reemplazar2()
Dim h As Worksheet
On Error Resume Next
For Each h In Worksheets
h.Range("A1:Z1000").SpecialCells(xlCellTypeBlanks) = 0
Next h
MsgBox "Finalizó"
End Sub

Saludos,
KL
Respuesta Responder a este mensaje
#2 Anonimo
01/04/2005 - 15:53 | Informe spam
Hola Kl

Gracias por los codigos los pruebo y te comento.


Hola NOEŽS,

Puedes probar este codigo modificadoÑ

Sub reemplazar()
Dim R As Range
On Error GoTo Fin
For h% = 1 To 100
Sheets(h%).Select
For Each R In Sheets(h%).Range("A1:Z1000")
If IsEmpty(R) Then R = 0
Next R
Next h%
Fin:
MsgBox "Finalizó"
End Sub

Pero si te he entendido bien que es lo que quieres hacer,


prueba mejor el
siguiente sera veces mas rapido:

Sub reemplazar2()
Dim h As Worksheet
On Error Resume Next
For Each h In Worksheets
h.Range("A1:Z1000").SpecialCells(xlCellTypeBlanks) = 0
Next h
MsgBox "Finalizó"
End Sub

Saludos,
KL


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida