Código:
En este código (que no es mío yo simplemente lo he adaptado a mis necesidades) hay dos checkbox y cada uno de ellos copia el contenido de unas celdas en otras, modifcandose automáticamente las celdas de destino si se modifican las celdas de origen. El problema es que falla este código por ejemplo en el caso de que un checkbox esté activado y otro no, si se borran más de una celda sólo te borra el contenido de una celda no el de todas aquellas celdas que has seleccionado. Los errores los noto cuando borro a más de una celda a la vez. Pero no se cual puede ser el error, muchas gracias Dim Evita_copia As Boolean Private Sub CheckBox1_Click() Evita_copia = False Application.ScreenUpdating = False posicion = ActiveCell.Address If CheckBox1.Value = True Then Range("B17:I17").Select Selection.Copy Range("B38:I38").Select ActiveSheet.Paste Application.CutCopyMode = False Range(posicion).Select Else Evita_copia = True Range("B38:I38").Select Selection.ClearContents Range(posicion).Select End If Application.ScreenUpdating = True End Sub Private Sub CheckBox2_Click() Evita_copia = False Application.ScreenUpdating = False posicion = ActiveCell.Address If CheckBox2.Value = True Then Range("B16:I16").Select Selection.Copy Range("B37:I37").Select ActiveSheet.Paste Application.CutCopyMode = False Range(posicion).Select Else Evita_copia = True Range("B37:I37").Select Selection.ClearContents Range(posicion).Select End If Application.ScreenUpdating = True End Sub Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B17:I17")) Is Nothing And Not Evita_copia Then Application.ScreenUpdating = False posicion = ActiveCell.Address Range("B17:I17").Select Selection.Copy Range("B38:I38").Select ActiveSheet.Paste Range(posicion).Select Application.CutCopyMode = False End If If Not Intersect(Target, Range("B16:I16")) Is Nothing And Not Evita_copia Then Application.ScreenUpdating = False posicion = ActiveCell.Address Range("B16:I16").Select Selection.Copy Range("B37:I37").Select ActiveSheet.Paste Range(posicion).Select Application.CutCopyMode = False Application.ScreenUpdating = True End If End Sub