/ / Error 1004 al copiar y pegar datos - excel, vba, excel-vba

Error 1004 al copiar y pegar datos - excel, vba, excel-vba

Recibo un mensaje de error, error en tiempo de ejecución 1004 (error definido por la aplicación o definido por el objeto).

Básicamente, en la Columna # 30 (cualquier letra (s) quecorresponde a), se supone que debe copiar y pegar una determinada selección. A continuación, dependiendo del número de postores que haya, digamos 2, cada 8 columnas siguientes habrá otra selección que debe copiar y pegar en la nueva hoja de trabajo.

Entonces digamos que tengo 2 postores:

La columna n. ° 30 y la columna n. ° 38 tendrían que sercopiar y pegar en la otra hoja de trabajo una al lado de la otra. ¿Puede alguien ayudarme aquí? No tengo ningún problema con la entrada emergente, pero una vez que llega a esta parte para comenzar a copiar y pegar las columnas, aparece un mensaje de error.

""""Get adsad
For i = 0 To bidNum - 1
Range(colRange.Offset(0, 30 + i * 8)).Select
Range(colRange.Offset(0, 30 + i * 8)).EntireColumn.Copy
Worksheets("Per FOB Delivered").Activate
colRange.Offset(0, 11 + i).Select
colRange.Offset(0, 11 + i).Paste
With Selection
.HorizontalAlignment = xlGeneral
.Font.Name = "Calibri"
.Font.Size = 10
.EntireColumn.AutoFit
End With
Next i
ActiveCell.Offset(0, -10).Range("A1").Select
Sheets("Master Calc").Select

las declaraciones están aquí:

"Declarations
Dim bidNum As Integer
Dim colRange As Range
Set colRange = Range("A1")

"User Input
bidNum = InputBox("Please Enter the number of bidders: ")

Editar:Creo que he reducido el problema a esto: Hojas de trabajo ("Por FOB entregado"). Activar Configuré todo para comentar y el código funcionó, y luego fui línea por línea y dejó de funcionar cuando llegué a esta parte del código (aparece ese mensaje de error). Lo intenté:

ActiveWorkbook.Sheets("Per FOB Delivered").Activate

y tampoco funcionó. Para que conste, mi código crea esa página y funciona hasta esta parte (no aparece en la lista porque es un poco larga).

Aquí hay un fragmento de algunos de los otros códigos que funcionan perfectamente bien, tenga en cuenta que esta sección está antes que la otra y hay otras partes similares como esta. No tengo errores con este código en la lista:

"Get Current Net FOB Overage /lb
Range("P1").Select
Range("P1").EntireColumn.Copy
Sheets("Per FOB Delivered").Activate
ActiveCell.Range("J1").Select
ActiveSheet.Paste
With Selection
.HorizontalAlignment = xlGeneral
.Font.Name = "Calibri"
.Font.Size = 10
.EntireColumn.AutoFit
End With
ActiveCell.Offset(0, -9).Range("A1").Select
Sheets("Master Calc").Select

Respuestas

0 para la respuesta № 1

Ya se mencionó en los comentarios, pero debe evitar usar .Select tanto como sea posible. Muchas veces es innecesario y su código se ejecutará más rápido y se verá mucho más simple si lo evita.

En cuanto a su problema, utilice

colRange.Offset(0, 11 + i).PasteSpecial

en lugar de .Paste, las celdas combinadas no deberían marcar la diferencia.