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