The Alexsandra Spaces

Internet – Sicurezza – Excel & VBA

Excel :: codino2

Pubblicato da Alexsandra su Novembre 15, 2007

sezione riservata a Codino2 prego gli altri utenti di postare quì consigli, suggerimenti esempi ma non altre problematiche…. Grazie ••• Ritorna alla pagina precedente •••

Questo è il quesito posto:

ciao Alexandra
Premetto che sono nuovo di questo forum e sono anche un neofita e avrei un piccolo problema da risolvere spero potrai essermi di aiuto.
Dunque, per prima cosa ti dico che cercando un aiutino in rete su un progettino che sto creando con excel, sono capitato nel tuo blog e ti faccio subito i complimenti in quanto ho trovato molto utili gli esempi illustrati.
Ora ti dico in sintesi cosa sto facendo: in sostanza sto creando una macro che consenta di salvare dei dati (compresi i commenti) immessi in un foglio di excel.Il programma in pratica è un archiviatore di dati che tramite un foglio (maschera)di excel mi consente di archiviare e richiamare i dati salvati nello stesso foglio.
Purtroppo però non riesco a salvare i commenti che a volte inserisco nelle celle; come posso fare?.
Puoi darmi un aiutino?

Il progettino che sto costruendo in sintesi è questo:
Sub Macro1()
‘riga = 30 ‘ i dati salvati
For j = 1 To 5
For k = 1 To 10
Cells(riga + j, 2 + k) = Cells(10 + j, 2 + k) ‘ colonna 2 riga 10 celle con dati comprendenti i commenti
Next k
Next j
MsgBox (”Foglio Archiviato!”)
End Sub

14 Risposte a “Excel :: codino2”

  1. Alexsandra detto

    @Codino2
    lasciami fare qualche prova, non ho mai provato a fare quello che hai bisogno

    ciao

  2. codino2 detto

    Ciao Bert0 ciao Alex,il codice che ti avevo inviato l’avevo ridotto all’osso perche pensavo fosse ininfluente al quesito che ti ponevo, scusatemi.
    Allora in cella 1A metti il mese (1), in cella 1b metti l’anno (2007).
    Nelle righe 11:15 metti dati con note (commenti).
    Ora esegui la Sub Macro1.
    Adesso varia il mese, cella 1A metti (2).
    Riesegui esegui la Sub Macro1.
    Adesso fai la verifica e sotto ti ritrovi gli altri dati; sempre senza commenti.

    Sub Macro1()

    riga = 24 + 0 * (Cells(1, 2) – 2007) + 6 * (Cells(1, 1)) ‘inizio dati salvati
    Cells(riga + 1, 2) = Cells(1, 2)
    Cells(riga + 1, 1) = Cells(1, 1)
    For j = 1 To 5
    For k = 1 To 10
    Cells(riga + j, 2 + k) = Cells(10 + j, 2 + k)’ colonna 2 riga 10 celle con dati comprendenti i commenti

    Next k
    Next j
    MsgBox (”Foglio Archiviato!”)
    fine:

    End Sub

    scusatemi ancora
    adesso spero di essere stato più chiaro,
    a presto,
    Ciao a tutti.

  3. codino2 detto

    Alexandra, ho seguito la lezione sul comando CELLS ed il ciclo di WITH; e mi sono reso conto che sono molto simili alla rountine che ti ho inviato.Ma anche questa funzione ricopia i dati delle celle ma non i commenti in esse contenuti.
    salutoni

  4. Alexsandra detto

    faccio delle prove, non ho mai pensato di copiare anche i commenti, stasera mi faccio viva con del codice :D

    ciao

  5. bert01980 detto

    prova questo se va bene:
    Sub Macrocopia()

    Rows(”1:5″).Select
    Selection.Copy
    Rows(”30:30″).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    End Sub

    copia le righe dalla 1 alla 5 e le incolla alla 30 se diverso modifica questi valori…
    fammi sapere subito che ti posto eventuali modifiche altrimenti io sono via fino a mercoledì

  6. bert01980 detto

    Il tuo codice non fa altro che copiare le righe 11:15 in 31:35… e se modifichi una cella ne range 11:15 viene riscritta in 31:35… ora se il tuo codice funziona tranne che per i commenti allora il mio fa lo stesso ma in più copia anche i commenti… altrimenti per favore rispiega che mi son perso….

    ciao

  7. codino2 detto

    Ciao Alexandra
    Ho appena provato il codice che mi hai suggerito, però come ti ho spiegato precedentemente voglio usarlo per archiviare dei dati:più o meno 20 righe al giorno(lunedì,martedì etc.).
    Pertanto ho impostato il tutto tramite il comando cells e i cicli for – nexst per evitare di sovrapporre i dati archiviati per poi richiamarli per data e giorno.
    Ho provato un pò a pasticciare nel codice che ti ho inviato precedentemente inserendo i tuoi suggerimenti ma per il momento non è uscito ancora nulla di buono.
    grazie comunque della tua solleccita risposta.
    a presto, stammi bene.

  8. bert01980 detto

    Ciao…
    ma a te basta che a variare del mese si sposti solo in riga la copia, e che non sovrascriva i “mesi” precedenti???

  9. bert01980 detto

    ciao…

    non posso provarlo (non ho excel su questo PC) ma vedi se va bene:

    Sub Macro1()

    Application.ScreenUpdating = False

    riga = 24 + 0 * (Cells(1, 2) – 2007) + 6 * (Cells(1, 1)) ‘inizio dati salvati
    Cells(riga + 1, 2) = Cells(1, 2)
    Cells(riga + 1, 1) = Cells(1, 1)
    For j = 1 To 5
    For k = 1 To 10
    Cells(10 + j, 2 + k).Select
    Selection.Copy
    Cells(riga + j, 2 + k).Select
    ActiveSheet.Paste
    Next k
    Next j
    MsgBox (”Foglio Archiviato!”)
    fine:

    Application.CutCopyMode = False
    Application.ScreenUpdating = True

    End Sub

  10. Alexsandra detto

    @Bert0

    Mi piace …. il codice e anche la partecipazione :D

  11. bert01980 detto

    non avendo a disposizione excel (sono allestero) non posso fare un codice come si deve e provarlo… quindi ho dovuto “appoggiarmi” sul tuo che funziona…

    ma lo sfarfallio non dovrebbe esserci dato che con—> Application.ScreenUpdating = False

    non dovresti vedere nulla…

    per curiosità fai una prova cancellando quella riga e dimmi che succede

  12. bert01980 detto

    Ciao Codino…

    ricordati a fine codice (prima dell’ end sub) di mettere—> Application.ScreenUpdating = True

    giusto per completezza…

    ciao ciao e alla prossima

  13. codino2 detto

    Ciao,Gentilissimo Bert0
    Siii!!! proprio come dici tu;impostando Application.ScreenUpdating = False
    il codice va che è una bellezza.
    non ho parole per ringraziarti abbastana
    ciao mitico.
    grazie tantissime.

  14. codino2 detto

    ciao Bert0
    Grazie tante ancora, alla prossima.
    Ciao.

Lascia una Risposta

XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>