Newsgroup: it.comp.appl.access
Titolo: Errore 1004 famigerato per popolare excel

ho provato questo 
http://support.microsoft.com/kb/210684
 workaround ma 
non funge.
Avete idea di come fare?
Niente... si ferma alla stesso numero di range che incollo per i 
dettagli della fattura....
Grazie sto impazzendo!
-- 
Daniele
Rispondere scartando OneEDP, spam e 32

 Rispondere scartando OneEDP, spam e 32
Se il WorkAround di MS non funziona, l'unica cosa che mi viene da
pensare è di copiare CELLA-CELLA in un ciclo usando appunto
CELLS(x,y)... come origine e lo stesso come destinazione
sul nuovo foglio...
Chiaramente sarà più lento...
Ho capito male...?
@Alex

 Grazie sto impazzendo!
Ciao Daniele.
Qua ho relizzato una routine (sotto AXP, in un mde) che da quasi due
anno compone delle liste di task di manutenzione ... e non sono mai
incappato in quel problema.
Vedi tu se ti puo' aiutare.
==========BEGIN CODE SNIPPET==========
    Dim xlsTechCard As Excel.Application
    Dim wbkTechCard As Excel.Workbook
    Dim wshTechCard As Excel.Worksheet
    Dim rsTestata As DAO.Recordset, rsTask As DAO.Recordset
    Dim bCreaTestata As Boolean
    Set xlsTechCard = CreateObject("Excel.Application")
    xlsTechCard.DisplayAlerts = False
    xlsTechCard.Visible = False
    Set wbkTechCard =
xlsTechCard.Workbooks.Add(Application.CurrentProject.Path & "\Base per
TechnicalCard.xls")
    Set wshTechCard = wbkTechCard.Worksheets("Task")
    Set rsTestata = CurrentDb.OpenRecordset("TechnicalCard_Testata")
    Set rsTask = CurrentDb.OpenRecordset("TechnicalCard_Task")
    bCreaTestata = True
    Do While (rsTestata.EOF = False)
        SysCmd acSysCmdSetStatus, "Tech. Card. " ...
        If (bCreaTestata = True) Then
            bCreaTestata = False
            wbkTechCard.Worksheets("Task").Copy ,
wbkTechCard.Worksheets(wbkTechCard.Worksheets.Count)
            Set wshTechCard =
wbkTechCard.Worksheets(wbkTechCard.Worksheets.Count)
            wshTechCard.Range("58:59").Delete
Qua imposto alcune celle nella testata del foglio ...
        End If
Qua c'e' una copyFromRecordset per caricare i dati e svariate
assegnazioni tramite Cells() e formattazioni ...
        rsTestata.MoveNext
    Loop
    SysCmd acSysCmdClearStatus
    rsTestata.Close
    rsTask.Close
    Set rsTestata = Nothing
    Set rsTask = Nothing
    wbkTechCard.Worksheets("Task").Delete
    xlsTechCard.Visible = True
    wbkTechCard.Worksheets(1).Activate
    xlsTechCard.Calculation = xlCalculationAutomatic
    xlsTechCard.Calculate
    Set wshTechCard = Nothing
    Set wbkTechCard = Nothing
    Set xlsTechCard = Nothing
===========END CODE SNIPPET===========
Nota a margine: gli workbook generati hanno contenuto in diversi casi
oltre 200 worksheet e con tempi di elaborazione al di sotto dei 10
minuti.
HTH
Popi

 @Alex
In pratica dopio un Range.Copy (eseguito tra l'altro correttamente) 
qualsiasi sembrerebbe operazione dopo scatena l'errore.
             clDetail.EntireRow.Insert
             clDetail.EntireRow.Copy clDetail.Offset(-2, 0)


 xlsTechCard.Workbooks.Add(Application.CurrentProject.Path&  "\Base per

Grazie.
Come ho scritto ad alex eseguo
1) popolo uno "stampino" tutto preformattato con formule, colori, ecc. 
ecc. con il record corrente
2) un inserimento di due righe intere sopra lo "stampino"
3) ricopio lo stampino appena popolato con un
     clDetail.EntireRow.Copy clDetail.Offset(-2, 0)
dove clDetail � un Range valido del tipo ...Range("NumRiga:Importo") 
composto di n righe e m colonne (una region pi� che altro).
Dato che non riesco a comprendere quale sia l'istruzione scatenante ho 
piazzato un sacco de debug.print, ma non ho individuato il colpevole.
La cosa certa � che dopo il 24� inserimento da� quel malnato errore, ma 
in debug passo dopo passo nessun errore.
Allora per questo motivo ho inserito un DoEvents e pare che stia 
funzionando, ovviamento tutto si rallenta...
Speriamo ci sia � qualcosa di pi� IT... anche perch� non credo funzioni 
sempre su tutti ci client...



Per ora inserisco questo
lngContatore = lngContatore + 1
If lngContatore Mod 20 = 0 Then DoEvents
meglio di niente...
