macro in excel



  • macro in excel
    di Matrix (utente non iscritto) data: 28/12/2014 10:08:56

    Buongiorno a tutti innanzitutto auguri di buone feste.
    Sto sclerando con questa macro mi si ferma a 65253
    io invece vorrei arrivare per il momento a 200000 questo è lo script:
    Ringrazio anticipatamente a chi può aiutarmi grazie e rinnovo gli auguri


     
    Sub a()
    p = 16
    For i = 1 To 200000
       r = i * p - (p - 1)
       Range("A" & r & ":A" & r + p - 1) = i
    Next
    End Sub



  • di Albatros54 (utente non iscritto) data: 28/12/2014 10:34:34

    secondo me non puoi arrivare a 200000, perche le righe di excel(2007 nel mio caso)arrivano a 1048576.Facendo una divisione fra le righe di excel(1048576)
    per 16 che è il tuo valore arriviamo a 65536 che è all'incirca il valore dove si blocca.Credo che sia questo il motivo
    Ciao
    Albatros54


  • macro in excel
    di Matrix (utente non iscritto) data: 28/12/2014 12:28:36

    E quindi non c'è modo di arrivarci?''



  • di lepat (utente non iscritto) data: 28/12/2014 13:58:41

    non c'è modo, il numero delle righe ha lo stesso limite anche su excel 2010


  • Macro
    di Mateix (utente non iscritto) data: 28/12/2014 14:02:38

    E cominciare su un nuovo foglio da 60000 in poi? Se si puoi illustrarmi come fare?



  • di lepat (utente non iscritto) data: 28/12/2014 15:36:02

    basta selezionare il foglio2 e modificare la riga
    For i = 1 To 200000
    in
    For i = 60000 To 200000



  • macro in excel
    di Matrix (utente non iscritto) data: 28/12/2014 15:51:16

    NO non funziona cominca dalla riga 60000 e si ferma 65000



  • di Mister_x (utente non iscritto) data: 28/12/2014 17:07:40

    ciao

    ti servono 4Fogli

    sub() da inserire in un modulo di classe

    ciao
     
    Option Explicit
    Sub a()
    Dim Nsheets, Nriga, Trighe, p, i As Long
    Nriga = 1
    p = 16
    Nsheets = 1
    For i = 1 To 200000
       Trighe = Nriga * p - (p - 1)
       Sheets(Nsheets).Range("A" & Trighe & ":A" & Trighe + p - 1) = i
       Nriga = Nriga + 1
    If Nriga > 60000 Then
       Nriga = 1
       Nsheets = Nsheets + 1
    End If
    Next
    End Sub
    





  • macro in excel
    di Matrix (utente non iscritto) data: 28/12/2014 17:12:51


    Nulla mi da Errore di runtime "9";
    Indice fuori misura



  • di Mister_x (utente non iscritto) data: 28/12/2014 17:26:01

    ciao

    sul mio PC e col mio excel 2007 non da nessun problema

    ti posto il file di prova per verifica formato rar originale 16mega

    ciao





  • di Mister_x (utente non iscritto) data: 28/12/2014 17:29:12

    riciao

    non posso postarlo superiore ad 1mega

    ciao






  • macro in excel
    di Matrix (utente non iscritto) data: 28/12/2014 17:30:16

    Ciao grazie lo stesso davvero paziente auguri..



  • di lepat (utente non iscritto) data: 28/12/2014 19:09:02

    hai fatto copia e incolla del codice di Mister_x ?
    a me funziona



  • di Mister_x (utente non iscritto) data: 28/12/2014 19:13:24

    ciao

    se proprio non si riesce ad usare una sub() utilizziamo le funzioni di excel
    in foglio1 A1
    =INT((RIF.RIGA()-1)/16)+1 e trasciniamo fino a 60000
    foglio2 A1
    =60000+INT((RIF.RIGA()-1)/16)+1 trascinare fino a 120000
    foglio3 A1
    =120000+INT((RIF.RIGA()-1)/16)+1 trascinare fino a 180000
    foglio4 A1
    =180000+INT((RIF.RIGA()-1)/16)+1 trascinate fino a 200000

    allego file

    ciao