/ / Errore 1004 sulla copia e incolla dei dati: excel, vba, excel-vba

Errore 1004 sulla copia e incolla dei dati - excel, vba, excel-vba

Ricevo un messaggio di errore, errore di run-time 1004 (errore definito dall'applicazione o dall'oggetto).

Fondamentalmente, alla colonna # 30 (qualunque lettera (e) quellacorrisponde a), dovrebbe copiare e incollare una determinata selezione. Successivamente, a seconda del numero di offerenti, diciamo 2, ogni 8 colonne successive ci sarà un'altra selezione da copiare e incollare nel nuovo foglio di lavoro.

Quindi diciamo che ho 2 offerenti:

La colonna # 30 e la colonna # 38 dovrebbero quindi esserecopia e incolla nell'altro foglio di lavoro fianco a fianco. Qualcuno può aiutarmi qui? Non ho problemi con l'input che si apre, ma una volta raggiunto questa parte per iniziare a copiare e incollare le colonne, viene visualizzato un messaggio di errore.

""""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

le dichiarazioni sono qui:

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

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

Modificare:Credo di aver ristretto il problema a questo: Fogli di lavoro ("Per FOB consegnato"). Attiva Ho impostato tutto per commentare e il codice ha funzionato, quindi sono andato riga per riga e ha smesso di funzionare quando ho raggiunto questa parte del codice (richiede quel messaggio di errore). Ho provato:

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

e non ha funzionato neanche. Per la cronaca, il mio codice crea quella pagina e funziona fino a questa parte (non è stato elencato perché è un po 'lungo).

Ecco uno snippet di un po 'dell'altro codice che funziona perfettamente, nota, questa sezione è prima dell'altra e ci sono altre parti simili come questa. Non ho errori con questo codice elencato:

"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

risposte:

0 per risposta № 1

È già stato menzionato nei commenti, ma dovresti evitare di usare .Seleziona il più possibile. Spesso non è necessario e il tuo codice verrà eseguito più velocemente e sembrerà molto più semplice se lo eviti.

Per quanto riguarda il tuo problema, usa

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

invece di .Paste, le celle unite non dovrebbero fare la differenza.