Macro tramite commandbutton



  • Macro tramite commandbutton
    di Cicci943 data: 20/12/2010

    Per quale motivo la macro(di cui invio codice) se eseguita dalla casella macro va tutto bene; se inserisco il codice nel commandbutton non funziona;segnala l'errore di run-time 1004 cioe' errore nel metodo select per la classe range;questo quando cerco di eseguire un operazione passando dal foglio1 al foglio2;
     
    Private Sub CommandButton1_Click()
        Range("A1").Select
        ActiveCell.FormulaR1C1 = "N"
        Selection.AutoFill Destination:=Range("A1:A17"), Type:=xlFillDefault
        Range("A1:A16").Select
        Sheets("Foglio2").Select
        Range("A1:G17").Select(qui da' errore)
        Selection.ClearContents
        Sheets("Foglio1").Select
        Range("A1").Select
    End Sub
    



  • di Locate (utente non iscritto) data: 20/12/2010

    Ciao cicci943
    ho visto la tua macro e l'errore te lo da perche continui a richiamare una selezione, nel tuo caso non serve per cancellare un range() passare da un foglio all'altro, perdiote di tempo e sovraccarico di memoria, per far questo lavoro di cancellatura basta eseguire la procedura lineare senza passare da f1 a f2 pio a f1
    vedi macro modificata, si puo' anche scrivere in questo caso
    ------------
    sheets("foglio2").range("a1:g17")= ""
    ----------
    ciao da locate
     
    Private Sub CommandButton1_Click()
        Range("A1").Select
        ActiveCell.FormulaR1C1 = "N"
        Selection.AutoFill Destination:=Range("A1:A17"), Type:=xlFillDefault
        ''Range("A1:A16").Select
         Sheets("Foglio2").Range("A1:G17").ClearContents
        ''Sheets("Foglio2").Range("A1:G17").Select ''(qui da' errore)
        ''Selection.ClearContents
        ''Sheets("Foglio1").Select
        Range("A1").Select
    End Sub



  • di Franco_44 (utente non iscritto) data: 20/12/2010

    Ciao
    non so perchè dia quell'errore (qualcuno ce lo saprà spiegare) comunque se vuoi ovviare, creata la macro, non so cosa vuoi fare perchè quella postata non spiega bene se vuoi copiare oppure no (range diversi ecc)nel pusante inserisci il nome della macro e basta; io ho provato e funziona



  • di Franco_44 (utente non iscritto) data: 20/12/2010

    Mentre scrivevo, locate ti postava la sua risposta; ci siamo sovrapposti, comunque un saluto anche a silvano