Problemi esecuzione macro



  • Eseguire macro
    di Fausto (utente non iscritto) data: 22/07/2009

    Ciao a tutti, avrei bisogno di un aiuto:
    tramite il registratore di macro, ho regisrato la seguente macro:

    sub macro1()
    '
    ' macro1 macro


    rows("5:9").select
    range("b5").activate
    selection.copy
    rows("10:10").select
    range("b10").activate
    selection.insert shift:=xldown
    end sub

    non riesco a farla eseguire correttamente sulla prima riga libera, perchè quando la lancio, mi si blocca tutto.

    grazie anticipatamente per ogni possibile aiuto



  • di Luca data: 23/07/2009

    Potresti argomentare meglio quello che vuoi fare?
    ho l'impressione che ci siano dei comandi contraddittori.



  • di Fausto (utente non iscritto) data: 23/07/2009

    Ciao luca,
    cerco di darti una spiegazione dettagliata:
    si tratta di un computo metrico nel quale la descrizione degli articoli e le quantità sono definite da un "blocco" di righe così composto:
    1°riga:
    cella b1: n.ord. progressivo
    cella c1: libera (vuota), serve per scrivere appunti
    cella d1: e' inserito un menù a tendina che mostra tutte le voci dell'elenco prezzi
    cella e1: concatena cerca.vert(d1;elenco_prezzi;1;falso)(da la descrizione dell'art.)
    celle f1;g1;h1;i1;j1;k1;l1;m1;n1;o1: libere (vuote)
    2°riga:
    celle b2;c2;d2: libere (vuote)
    cella e2:vuota (serve a descrivere le operazioni)
    cella f2;g2;h2;i2: possono contenere numeri o formule
    cella j2: cerca vert. (d1;elenco-prezzi;2;falso) (dà l'unità di misura)
    cella k2: prodotto di f2*g2*h2*i2 (quantità articolo)
    3°riga:
    idem come riga 2
    4° riga:
    tutte le celle vuote
    5°riga:
    celle b5;c5;d5;e5;f5;h5;i5: vuote
    cella j5: cerca vert. (d1; elenco_prezzi;2;falso)
    cella k5: somma celle c2:c3
    cella l5= cella d1
    cella m5= cella k5
    cella n5: cerca vert.(d1;elenco_prezzi;3;falso)
    cella o5: prodotto celle m5*n5

    nota: il "blocco art. di elenco può essere composto da più righe di operazione (le celle c2;c3), nel qual caso si usa una macro "inserisci righe" che funziona a dovere.

    ecco quindi che dopo tutta questa spiegazione, il problema rimane quello di copiare un nuovo blocco vuoto per quantificare l'articolo.

    spero di essere stato chiaro, anche perchè è la prima volta che affronto questo problema.

    ti ringrazio per la collaborazione



  • di Luca data: 29/07/2009

    Mi dispiace averti dato false speranze, ma non saprei aiutarti. forse qualcun'altro...
    ciao, luca



  • di Baz (utente non iscritto) data: 29/07/2009

    Ciao,
    non mi è chiaro quali sono le celle che vuoi inserire, nella tuamacro che hai indicato all'inizio del post sembra ti servano le righe da 5 a 9 e le inserisci sopra la 10

    dal tuo 2° post sono arrivato solo alla riga 5 ...
    mi sono perso qualcosa?



  • di Fausto (utente non iscritto) data: 29/07/2009

    Si tratta di inserire nella macro quello che forse impropriamente io chiamo "blocco" che è composto da cinque righe le quali a loro volta sono composte da celle formattate come dalla descrizione del 2° post.

    per quanto riguarda "estrai formula", ho provato quanto inviato, e funziona tutto!

    grazie per il tuo interessamento



  • di Baz (utente non iscritto) data: 29/07/2009

    Quindi tu vorresti:
    selezionare le righe da 1 a 5 e poi inserirle ... sempre tra la riga 5 e 6 ?

    o come?



  • di Fausto (utente non iscritto) data: 29/07/2009

    Si, selezionare le righe da uno a cinque e quindi ricopiarle sotto per creare così un nuovo "blocco"
    su cui lavorare



  • di Baz (utente non iscritto) data: 29/07/2009

    Prova così:
     
    Sub Copia()
    
        Application.CutCopyMode = False
        Rows("1:5").Copy
        Rows("6:6").Insert Shift:=xlDown
        Application.CutCopyMode = False
    End Sub
    



  • di Baz (utente non iscritto) data: 29/07/2009

    Se ritieni che l'altro tuo post si possa definire risolto forse sarebbe meglio lo indicassi direttamente là.

    ciao