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.