Risultati da 1 a 11 di 11

Discussione: Macro per Archiviare i dati che però deve lasciare le formule attive



  1. #1
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126

    Macro per Archiviare i dati che però deve lasciare le formule attive

    Ciao Ragazzi

    Ho questo codice che mi permette di archiviare dei dati che si trovano nel foglio "DataEntry" per metterli nel foglio "Mensile" attraverso un pulsante...
    La macro funziona benissimo l' unico problema che mi elimina tutte le formule presenti nel Range("D5:D10") forse perchè c'è l'istruzione ClearContens


    Come posso evitare di eliminare le formule?

    Grazie n anticipo a tutti coloro che vogliono aiutare

    Codice: 
    Sub Copia()
    
        Sheets("DataEntry").Range("D5:D10").Copy
        Sheets("Mensile").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Transpose:=True
        Sheets("DataEntry").Range("D5:D10").ClearContents
        Application.CutCopyMode = False
        Sheets("DataEntry").Range("D5").Select
        
    End Sub
    File Allegati File Allegati

  2. #2
    L'avatar di rollis13
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Cordenons
    Messaggi
    817
    Versione Office
    2016 64bit
    Likes ricevuti
    148
    Likes dati
    53

    Re: Macro per Archiviare i dati che però deve lasciare le formule attive

    Nel DataEntry non hai "formule" hai solo calcoli matematici ... come fai a "pulire" ? al posto di =2+2 ci metti =0+0

  3. #3
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126

    Re: Macro per Archiviare i dati che però deve lasciare le formule attive

    Citazione Originariamente Scritto da rollis13 Visualizza Messaggio
    Nel DataEntry non hai "formule" hai solo calcoli matematici ... come fai a "pulire" ? al posto di =2+2 ci metti =0+0
    Ciao Rollis, nel progetto che sto creando ci saranno delle formule con il CERCA.VERT, solo che per non riscrivere le formule ho voluto fare semplicemente =2+2 o 9-1 che sono comunque formule, perchè l'obbiettivo è proprio quello di archiviare i dati nel foglio data base e tenendo le formule originali
    spero di essermi spiegato


    PS Questa è una macro che avevi pubblicto

  4. #4
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    Località
    ferrara
    Età
    41
    Messaggi
    2074
    Versione Office
    office pro 2010
    Likes ricevuti
    440
    Likes dati
    241

    Re: Macro per Archiviare i dati che però deve lasciare le formule attive

    Semplicemente non devi cancellarle le dalle quali ricavi i dati
    In quelle celle, come tu sai meglio di me, non ci sono i risultati delle formule ma ci sono le formule e noi ne vediamo il risultato.
    Cosa ti importa se rimangono li in bella vista?

    immagino che utilizzerai delle formule per avere dei risultati.
    una volta ottenuti premerai un pulsante che attiverà una macro che ti popolerà un altra zona del foglio o del workbook.
    A questo punto. basta. non devi fare nient altro fino a che non vorrai ripetere le operazioni qui sopra esposte ;)

    ----------Post unito in automatico----------

    Rieditando:

    Forse, però, ho capito male..

    è proprio quello di archiviare i dati nel foglio data base e tenendo le formule originali
    consa intendi con questa tua affermazione?

    Vuoi archiviare le formule di modo che ti visulaizzino i risultati ottenuti o vuoi archiviare i risultati otttenuti?

  5. #5
    L'avatar di tanimon
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    _
    Messaggi
    258
    Versione Office
    Excel 2007
    Likes ricevuti
    36
    Likes dati
    4

    Re: Macro per Archiviare i dati che però deve lasciare le formule attive

    Citazione Originariamente Scritto da Gerardo Zuccalà Visualizza Messaggio
    Come posso evitare di eliminare le formule?
    [/CODE]
    Ciao Gerardo,
    una soluzione MOLTO "artigianale" e non so se funzionale per il progetto che intendi realizzare,
    potrebbe essere quella di creare un For Each per ogni cella del range interessato al posto del ClearContents e fare sì
    che ogni cella sia un commento:
    in pratica un
    cella.value = " ' " & cella.value

    il fatto è che poi, per il successivo riutilizzo delle formule "commentate",
    dovrai creare un'altro ciclo con un'altra macro/evento per de-commentare......
    con un Replace ed un Trim

    non so quanto questo suggerimento possa esserti d'aiuto.

    Ciao
    Frank

    edit
    ho "realizzato" adesso la parte finale del titolo della discussione:
    deve lasciare le formule attive
    Excel 2007 win7 - Ogni Progetto è composto da Micro Progetti: PRIMA risolvi quelli, e PRIMA raggiungi il completamento del Progetto!
    Domanda: "Come avranno fatto gli utilizzatori di Excel VBA, quando non esisteva il registratore di macro?"

  6. #6
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126

    Re: Macro per Archiviare i dati che però deve lasciare le formule attive

    Ciao a tutti ragazzi
    @Tanimon Credo di aver risolto con una soluzione ancora più artigianale della tua nel senso che non conoscendo il VBA ho praticato il ClearContent solo ad un cella dove c'è il menu a tendina che servirà come riferimento esterno per le formule e quindi le formule non vengono toccate, pronte per un nuovo inserimento

    La parte in rosso modificata rispetto al codice iniziale

    Codice: 
    Sub Copia()
    
        Sheets("DataEntry").Range("D5:D9").Copy
        Sheets("Mensile").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Transpose:=True
        Sheets("DataEntry").Range("D5").ClearContents
        Sheets("DataEntry").Range("D8").ClearContents
        Application.CutCopyMode = False
        Sheets("DataEntry").Range("D5").Select
        MsgBox "dati inseriti correttamente nel data base", vbInformation, "Avviso "
        
        
        
    End Sub
    saluto a tutti e grazie per l'aiuto
    File Allegati File Allegati

  7. #7
    L'avatar di tanimon
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    _
    Messaggi
    258
    Versione Office
    Excel 2007
    Likes ricevuti
    36
    Likes dati
    4

    Re: Macro per Archiviare i dati che però deve lasciare le formule attive

    ciao Gerardo,
    allora puoi provare così
    Codice: 
    Sub Copia()
    Dim arr()
    Application.ScreenUpdating = False
    arr = Range("d5:d10").Formula
        Sheets("DataEntry").Range("D5:D10").Copy
        Sheets("Mensile").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Transpose:=True
        Sheets("DataEntry").Range("D5:D10").ClearContents
        Application.CutCopyMode = False
        Sheets("DataEntry").Range("D5").Select
    Range("d5:d10").Formula = arr
    Application.ScreenUpdating = True
    End Sub
    ho aggiunto le righe in rosso.

    Che poi è come togliere la riga
    Codice: 
    Sheets("DataEntry").Range("D5:D10").ClearContents


    e quindi ha ragione Marco


    Ciao
    Frank
    Excel 2007 win7 - Ogni Progetto è composto da Micro Progetti: PRIMA risolvi quelli, e PRIMA raggiungi il completamento del Progetto!
    Domanda: "Come avranno fatto gli utilizzatori di Excel VBA, quando non esisteva il registratore di macro?"

  8. #8
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126

    Re: Macro per Archiviare i dati che però deve lasciare le formule attive

    Ciao Tanimon
    Intanto grazie, appena posso adatterò la tua Macro al data base,
    Un saluto
    Gerardo

  9. #9
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3222
    Versione Office
    Excel2010
    Likes ricevuti
    627
    Likes dati
    155

    Re: Macro per Archiviare i dati che però deve lasciare le formule attive

    Salve a tutti
    visto che ci troviamo nel campo "artigianale" mi cimento anch'io e suggerisco la macro seguente (se i dati non sono troppi). In altre parole assegno ad una variabile String la formula della cella e, alla fine, ripristino il tutto.

    Codice: 
    Sub copia_due()
    Dim dati(5 To 10) As String
    For i = 5 To 10
        dati(i) = Cells(i, 4).Formula
    Next i
        Sheets("DataEntry").Range("D5:D10").Copy
        Sheets("Mensile").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Transpose:=True
        Sheets("DataEntry").Range("D5:D10").ClearContents
        Application.CutCopyMode = False
        Sheets("DataEntry").Range("D5").Select
    For i = 5 To 10
        Cells(i, 4).Formula = dati(i)
    Next i
    End Sub
    @Gerardo
    praticamente è la tua macro a cui ho aggiunto un ciclo all'inizio ed uno alla fine.

    Fai sapere. Ciao,
    Mario

  10. #10
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: Macro per Archiviare i dati che però deve lasciare le formule attive

    Scusate, forse non ho capito
    >>>Come posso evitare di eliminare le formule?
    Sheets("DataEntry").Range("D5:D10").ClearContents

    Come Ti hanno già suggerito, non le devi cancellare, devi solo azzerare le celle da dove queste formule si valorizzano
    Ex D5 C'e =somma(A1:A2) dovrai >>>Sheets("DataEntry").Range("A1:A2") = "", oppure .ClearContents
    Caosomai eliminando A1:A2 appare uno 0, dovrai modificare la formula ex =SE(SOMMA(A1:B1)=0;"";SOMMA(A1:B1))

  11. #11
    L'avatar di Gerardo Zuccalà
    Clicca e Apri
    Data Registrazione
    May 2015
    Località
    Milano, Italy
    Età
    49
    Messaggi
    4916
    Versione Office
    2013
    Likes ricevuti
    1117
    Likes dati
    1126

    Re: Macro per Archiviare i dati che però deve lasciare le formule attive

    Ciao Ragazzi

    Innanzi tutto Grazie a tutti per l'aiuto

    Il mio problema principale era quello di non cancellare le formule nel Range("D5:D9") cosi che posso reinserire altri records velocemente attraverso il CERCA.VERT, e ho trovato un modo

    Praticamente cancello solo la D5 e D8 che erano le celle di input (nei i menu a tendina) e quindi le formule non vengono eliminate


    @Mario Mi piace questo Offset(1, 0) la tua routine funziona benissimo Solo un piccolo aggiustamento al clear.contents e le celle saranno D5 e D8

    @Taminon non ho voluto sconvolgere la mia macro ma ho approfittato di copiare dalla tua macro
    Application.ScreenUpdating = False (vedi in Rosso) che serve per non fare tremare o schermo

    @Raffele ho fatto proprio cosi (vedi in Blu cancello solo le celle di input):
    Come Ti hanno già suggerito, non le devi cancellare, devi solo azzerare le celle da dove queste formule si valorizzano

    Codice: 
    Sub Copia()
    
    
    
    Application.ScreenUpdating = False
       
        Sheets("DataEntry").Range("D5:D9").Copy
        Sheets("Mensile").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Transpose:=True
        Sheets("DataEntry").Range("D5").ClearContents
        Sheets("DataEntry").Range("D8").ClearContents
        Application.CutCopyMode = False
        Sheets("DataEntry").Range("D5").Select
        MsgBox "dati inseriti correttamente nel data base", vbInformation, "Avviso "
        
    Application.ScreenUpdating = True
          
        
    End Sub
    Grazie ragazzi Tutto Risolto
    Ciao

Discussioni Simili

  1. macro per ARCHIVIARE DATI
    Di rosarioleotta nel forum Domande su Excel in generale
    Risposte: 1
    Ultimo Messaggio: 25/02/16, 21:23
  2. Risposte: 23
    Ultimo Messaggio: 23/02/16, 12:16
  3. macro per ARCHIVIARE DATI
    Di rosarioleotta nel forum Domande su Excel in generale
    Risposte: 5
    Ultimo Messaggio: 19/02/16, 20:16
  4. EP56 le MACRO di excel per ARCHIVIARE dati ( Macro assolutI e relativI)
    Di giackko86 nel forum Domande su Excel VBA e MACRO
    Risposte: 4
    Ultimo Messaggio: 10/09/15, 22:59
  5. 56 le MACRO di excel per ARCHIVIARE dati ( Macro assolutI e relativI)
    Di giackko86 nel forum Domande su Excel in generale
    Risposte: 1
    Ultimo Messaggio: 10/09/15, 20:41

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •