¿Cómo corregir el error que aparece al final de la macro? El error 1004 en el método PasteSpecial de la clase Range.

Dicho error sólo pega en la primera celda Rango C7, y no pega en las demás, ya que son varios productos comprados por el cliente. Es decir, si el Cli-001, compró más de un producto debería arrojarme el código del cliente en las demás celdas, y solo lo hace en la primera, cuando debería hacerla en las otras 2, cuando se ha facturado tres artículos.

' Copiando codigo cliente
Sheets("Facturacion").Select
Range("G3").Select
Selection.Copy
Sheets("Ventas Crédito").Select
Range("C7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
numeros = numero - 1
x = 7: y = 7 + numeros

Set Rng = Range("C" & x & ":C" & y)
With Rng
.Select
End With
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

1 Respuesta

Respuesta
1

Ho la y bienvenido a TodoExpertos:

Con esta línea estás limpiando la memoria, por eso no hay nada que pegar.

Application.CutCopyMode = False

Debes ponerla al  final  de la macro:

  Sheets("Facturacion").Select
  Range("G3").Select
  Selection.Copy
  Sheets("Ventas Crédito").Select
  Range("C7").Select
  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  :=False, Transpose:=False
  numeros = numero - 1
  x = 7: y = 7 + numeros  '
  Set Rng = Range("C" & x & ":C" & y)
  With Rng
    .Select
  End With
  '
  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
  Application.CutCopyMode = False

O puedes reducir el código a esto:

  numeros = numero - 1
  x = 7: y = 7 + numeros
  Set Rng = Sheets("Ventas Crédito").Range("C" & x & ":C" & y)
  Rng.Value = Sheets("Facturacion").Range("G3").Value

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas