Como puedo evitar un error en una marco de relleno ?

Les comento que me esta dando errores una macro de relleno

Las 2 las puse porque necesito que me rellene con un "0" las celdas vacías en la columna B2:B29, pero la misma depende de la columna D y comuna G.

Ejemplo 1 --- si solo hay datos en el rango D2:D10 - que me rellene con un "0" el rango B2:B10

Ejemplo 2 --- si solo hay datos en el rango G2:G10 - que me rellene con un "0" el rango B2:B10

-----------------------------------------------------------------------------------------------------------------

Sub Relleno()
Dim Fin%, x%, rng%
With Sheets("Carpintero")
Fin = Application.CountA(.Range("D:D"))
x = WorksheetFunction.CountBlank(Range("B2:B" & Fin))
If x > 0 Then
.Range("B2:B" & Fin).SpecialCells(xlCellTypeBlanks).Select
Selection.FormulaR1C1 = "0"
rng = Application.CountA(.Range("B:B"))
.Range("B2:B" & rng).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End If
End With
End Sub

-----------------------------------------------------------------------------------------------------------------
Sub Relleno2()
Dim Fin%, x%, rng%
With Sheets("Carpintero")
Fin = Application.CountA(.Range("G:G"))
x = WorksheetFunction.CountBlank(Range("B2:B" & Fin))
If x > 0 Then
.Range("B2:B" & Fin).SpecialCells(xlCellTypeBlanks).Select
Selection.FormulaR1C1 = "0"
rng = Application.CountA(.Range("B:B"))
.Range("B2:B" & rng).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End If
End With
End Sub

-----------------------------------------------------------------------------------------------------------------

El error que causa es que rellena por fuera del rango establecido y me llena la hoja de ceros " 0 " inclusive me borra la fórmula en donde se suma el total. Pero no pasa siempre, por lo cual no pude identificar que causa el error

Adjunto foto con error Hoja1 (Carpintero) (asi ven como queda en el momento de la falla)

Espero puedan ayudarme

Desde ya muchas

1 respuesta

Respuesta
1

I. Hola Franco, por mi parte no sé la respuesta, pero creo que en un primer momento podrías intentar ver un posible código de error o 'rastro' que deje este evento, así podríamos verificar cual es el motivo de este error. Aquí se explica.

http://trucosycursos.es/los-codigos-de-error-en-las-macros-vba-de-excel/ 

Tambien podrías, en caso de no recibir contestación, dirigir tu consulta a varios expertos en Excel, como Elsa Matilde o Marcrodos, mucha suerte.

Elsa Matilde

marcrodos marcrodos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas