Condividi:        

Modifica Macro per Eliminare Dati

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Modifica Macro per Eliminare Dati

Postdi Geppo2011 » 22/04/15 15:06

Salve a tutti
avrei bisogno di aiuto per modificare questa macro

Sub Elimina_Fit()
With Sheets("Mag. Fit.").Range("A13:A103")
Set C = .Find(Sheets("Mag. Fit.").Range("A9"), LookIn:=xlValues, LookAt:=xlWhole)
If Not C Is Nothing Then
CCol = C.Column: CRow = C.Row
Cells(CRow, CCol).Range("A1:F1, K1:Y1,AD1:AK1,AQ1:BU1").Delete Shift:=xlUp
Range("A9").Select
Selection.ClearContents
Range("A9").Select
ActiveCell.FormulaR1C1 = "Seleziona Prodotto"
End If
End With

End Sub

La macro agisce così:selezionando mediante Convalida un dato in cella A9 ,questo,viene cercato ed eliminato dagli elenchi presenti nel foglio "Mag.Fit" assieme alle formule ad esso legate e alla fine in A9 viene digitata la frase "Seleziona Prodotto"
Ora vorrei modificarla in maniera tale che la cella in cui inserisco il dato da cercare nel foglio "Mag.Fit" non sia la A9 dello stesso foglio ma nel la A9 del foglio "Ins_Fit" . Specifico che il dato da cercare ed eliminare rimane in "Mag.Fit" alle stesse coordinate.
Spero di essermi spiegato.
Grazie a quanti mi sapranno aiutare.
Geppo2011
Utente Junior
 
Post: 29
Iscritto il: 01/09/11 23:08

Sponsor
 

Re: Modifica Macro per Eliminare Dati

Postdi ricky53 » 22/04/15 16:43

Ciao,
hai provato a cambiare in
Codice: Seleziona tutto
Set C = .Find(Sheets("Mag.Fit.").Range("A9"), LookIn:=xlValues, LookAt:=xlWhole)

il nome del foglio da "Mag.Fit" in "Ins_Fit"?

Inoltre io eliminerei le istruzioni
Codice: Seleziona tutto
Range("A9").Select
 Selection.ClearContents
 Range("A9").Select
 ActiveCell.FormulaR1C1 = "Seleziona Prodotto"


sostituendole con
Codice: Seleziona tutto
Sheets("Ins_Fit").Range("A9")="Seleziona Prodotto"
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Modifica Macro per Eliminare Dati

Postdi Geppo2011 » 22/04/15 21:17

Ciao ricky
ho provato a fare come hai scritto ma non funziona. Il risultato ottenuto è quello di eliminare delle celle nel foglio "Ins_Fit" scombinandolo tutto. Io invece vorrei che venissero cancellate le celle nel foglio "Mag.Fit.".
L' ultima parte della macro :

Sheets("Ins_Fit").Range("A9")="Seleziona Prodotto"

quella funziona
Geppo2011
Utente Junior
 
Post: 29
Iscritto il: 01/09/11 23:08

Re: Modifica Macro per Eliminare Dati

Postdi ricky53 » 22/04/15 21:55

Ciao,
non ho il file ma leggendo il codice, quanto ti ho scritto avrebbe dovuto dare il risultato atteso.

Tu cosa hai cambiato?
Solo la riga di codice
Codice: Seleziona tutto
Set C = .Find(Sheets("Mag.Fit.").Range("A9"), LookIn:=xlValues, LookAt:=xlWhole)
Vero?

Forse hai cambiato anche la riga
Codice: Seleziona tutto
With Sheets("Mag. Fit.").Range("A13:A103")

Che NON deve essere CAMBIATA !!!


Puoi inviare un file di esempio ... senza dati riservati?
Puoi allegre la macro contenente le modifiche che hai fatto.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Modifica Macro per Eliminare Dati

Postdi Geppo2011 » 23/04/15 00:27

Queste sono le modifiche fatte al codice

Sub Elimina_Fit()
With Sheets("Mag. Fit.").Range("A13:A103")
Set C = .Find(Sheets("Ins_Dati").Range("P8"), LookIn:=xlValues, LookAt:=xlWhole)
If Not C Is Nothing Then
CCol = C.Column: CRow = C.Row
Cells(CRow, CCol).Range("A1:F1, K1:Y1,AD1:AK1").Delete Shift:=xlUp
Sheets("Ins_Fit").Range("A9") = "Seleziona Prodotto"
End If
End With

End Sub

Alcuni riferimenti sono cambiati perchè ho riformatato il foglio. Comunque ho fatto vari tentativi ma no riesco a farla funzionare.
Mi puoi indicare come allegare il file di esempio?
Geppo2011
Utente Junior
 
Post: 29
Iscritto il: 01/09/11 23:08

Re: Modifica Macro per Eliminare Dati

Postdi ricky53 » 23/04/15 01:02

Ciao,
leggi QUI

In attesa del file:
1. puoi descrivere eseguendo la macro cosa ottieni?
2. quali dati ci sono in "A13:A103"?
3. cosa scrivi in "P8" ?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Modifica Macro per Eliminare Dati

Postdi Anthony47 » 23/04/15 01:08

Cells(CRow, CCol).Range("A1:F1, K1:Y1,AD1:AK1").Delete Shift:=xlUp

Questa riga cancella sul "foglio corrente"; credo dovrebbe essere
Codice: Seleziona tutto
.Cells(CRow, CCol).Range("A1:F1, K1:Y1,AD1:AK1").Delete Shift:=xlUp


Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Modifica Macro per Eliminare Dati

Postdi ricky53 » 23/04/15 01:24

Ciao,
Anthony:
e si i "PUNTI" cosa Fanno/NON Fanno se ci sono/NON ci sono.


Geppo:
Leggi l'intervento di Anthony.

Ricavo che tu probabilmente eseguivi la macro con il foglio "Ins_Fit" attivo e l'istruzione che Anthony ha evidenziato cancella i dati dal foglio attivo.

Prova aggiungendo il "punto" a "Cells" ....
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Postdi Geppo2011 » 23/04/15 08:49

Ciao
ho postato copia del file che mi avete chiesto. Questa copia e a titolo esemplificativo ma se serve carico il file originale sul quale sto lavorando dove sono presenti altri fogli ma che non sono coinvolti nella macro. Qui trovate la macro modificata con il suggerimento di Anthony ma neanche cosi mi funziona.

http://www.filedropper.com/copiafile

Sul file originale è sorto un' altro problema: ho assegnato la macro al pulsante ELIMINA presente in "Ins_Dati" ma non viene eseguita quando lo clicco e non viene eseguita neanche se uso il comando "Esegui Macro". Ora non capisco se ho sbagliato un passaggio nel creare il pulsante o se dipende da EXCEL. Se può essere utile il S.O. che uso è WINDOWS XP con EXCEL 2013.

Grazie per l' aiuto
Geppo2011
Utente Junior
 
Post: 29
Iscritto il: 01/09/11 23:08

Re: Modifica Macro per Eliminare Dati

Postdi ricky53 » 23/04/15 12:58

Ciao,
a me la macro viene eseguita.
Nel tuo file di esempio, nel codice, vanno cambiati i nomi dei fogli altrimenti va in errore.

Avendo tu cambiato la struttura e gli intervalli direi: INIZIAMO da ZERO.

Descrivi bene le tue necessità e gli errori che ottieni ma lavorando sul FILE di ESEMPIO !!!
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Modifica Macro per Eliminare Dati

Postdi ricky53 » 23/04/15 13:32

Ciao,
ho voluto vedere cosa succedeva con il tuo codice ed ho visto che veniva calcolata male la riga (variabile "CRow") da utilizzare per eliminare le celle.
Ecco il codice funzionante
Codice: Seleziona tutto
Sub Elimina_Fit()
' Questo codice, utilizzando il tuo file di esempio, a me funziona e cancella i dati del prodotto selezionato
   
    With Sheets("Mag. Fit.").Range("A13:A103")
        Set C = .Find(Sheets("Ins_Dati").Range("P8"), LookIn:=xlValues, LookAt:=xlWhole)
        If Not C Is Nothing Then
            CCol = C.Column: CRow = C.Row - 12 ' <<===== Modificata
            .Cells(CRow, CCol).Range("A1:F1,K1:Y1,AD1:AK1").Delete Shift:=xlUp
            Sheets("Ins_Dati").Range("P8") = "Seleziona Prodotto" ' <<==== Modificato nome foglio
        End If
    End With
End Sub


Leggi i commenti nel codice
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Modifica Macro per Eliminare Dati

Postdi Geppo2011 » 23/04/15 21:16

Ciao
Ho provato il codice che hai postato e funziona tutto benissimo.

Grazie infinite per l' aiuto e per la pazienza dimostrata.

Alla prossima macro.
Geppo2011
Utente Junior
 
Post: 29
Iscritto il: 01/09/11 23:08

Re: Modifica Macro per Eliminare Dati

Postdi ricky53 » 23/04/15 21:30

Ciao,
il grazie va anche ad Anthony (lui ci ha fatto notare che mancava il famoso "PUNTO").

Buon proseguimento e, come hai scritto tu, alla prossima ...
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Modifica Macro per Eliminare Dati

Postdi Geppo2011 » 23/04/15 21:47

Hai ragione ha fatto un solo intervento ma essenziale.

Grazie ad entrambi
Geppo2011
Utente Junior
 
Post: 29
Iscritto il: 01/09/11 23:08

Re: Modifica Macro per Eliminare Dati

Postdi ricky53 » 23/04/15 21:50

Ciao,
e SI, Lui il "punto" ed io il "12" ed insieme ...

Buon resto.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "Modifica Macro per Eliminare Dati":


Chi c’è in linea

Visitano il forum: Ricky0185 e 57 ospiti