Tengo un error 1004, que me sale cunado hago una macro para que se ejecute en el cambio de una celda

El problema es que deseo que se ejecute una macro en una hoja con un cambio de celda, esta consiste en que traiga información de otra hoja distinta y la pegue en un lugar designado, adjunto el código para ver si alguien me puede ayudar:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B12")) Is Nothing Then
'Condición para copiar la tabla
If [B14] = [F7] Then
' PegarActividades Macro
Sheets("Actividades").Select
Range("A3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Información").Select
Range("B18").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
'Condición para copiar la tabla
If [B14] = [F8] Then
' PegarActividades Macro
Sheets("Actividades").Select
Range("A3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Información").Select
Range("B18").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
'Condición para copiar la tabla
If [B14] = [F9] Then
' PegarActividades Macro
Sheets("Actividades").Select
Range("A3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Información").Select
Range("B18").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
'Condición para copiar la tabla
If [B14] = [F10] Then
' PegarActividades Macro
Sheets("Actividades").Select
Range("A3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Información").Select
Range("B18").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
'Condición para copiar la tabla
If [B14] = [F11] Then
' PegarActividades Macro
Sheets("Actividades").Select
Range("A3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Información").Select
Range("B18").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
'Condición para copiar la tabla
If [B14] = [F12] Then
' PegarActividades Macro
Sheets("Actividades").Select
Range("B3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Información").Select
Range("B18").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
'Realiza cambios estéticos en las filas seleccionada
Range("B18:D18").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
End With
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = True
.AddIndent = False
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
End Sub

Agradezco su atención prestada.

1 Respuesta

Respuesta
1

Me podrías mandar la hoja .

[email protected]

Listo ya fue enviado el archivo para que sea revisado, agradezco el interés.

Gracias.

Reemplaza este código :

   If [B14] = [F7] Then
      ' PegarActividades Macro
      Sheets("Actividades").Select
      Range("A3").Select
      Range(Selection, Selection.End(xlDown)).Select
      Selection.Copy
      Sheets("Información").Select
      Range("B18").Select
      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
   End If

Por este

        If [B14] = [F7] Then
        ' PegarActividades Macro
            RangoObj = Sheets("Actividades").Range("A3:A9").Copy
            Range("B18").Select
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
         End If

Notarás que en la línea
RangoObj = Sheets("Actividades").Range("A3:A9").Copy
Tengo el rango de A3 a A9, te recomiendo, que en tu hoja de Actividades, pongas todas tus actividades iniciando en la línea 2, para que el rango pueda ser de la siguiente manera:
RangoObj = Sheets("Actividades").Range("A3:A50000").Copy
De esta forma no perderás ninguna actividad y podrás copiarlas todas.
El cambio tendrás que realizarlo en todas las otras condiciones que tienes, [B14] = [F8], [B14] = [F9], etc.
Saludos. Dam

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas