Condividi:        

Non esecuzione macro se..

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

Non esecuzione macro se..

Postdi Ricky0185 » 06/07/26 11:19

Salve, ho una macro principale "Rendiconto" che all'apertura richiama un'altra macro "Pulizia", completata la quale poi prosegue fino alla fine delle istruzioni. Vorrei che, se una certa cella del foglio fosse occupata,fosse inibita l'esecuzione della macro richiamata "Pulizia", ma poi continuasse l'esecuzione della macro principale "Rendiconto".
Semplice no ? Ma io non ci riesco, sia con Exit Sub che con End Sub.
Codice: Seleziona tutto
If ActiveSheet.Range("B14").Value = True Then
Non Eseguire Macro Pulizie 'ma poi continua con l'esecuzione della "Rendiconto"
Else 'se è zero
Esegui "Rendiconto"
Exit Sub
End If

Grazie dell'aiuto.
Saluti
R
Ricky0185
Utente Senior
 
Post: 463
Iscritto il: 10/12/19 20:38

Sponsor
 

Re: Non esecuzione macro se..

Postdi Ricky0185 » 06/07/26 14:08

E aggirando il problema con il Select Case?
Codice: Seleziona tutto
x = Range("CA2").Value
Select Case x
    Case vbvuoto 'se CA2 vuota
    istruzioni della macro Rendiconto (senza quelle della macro Pulizia)
    Case Else 'se CA2 contiene valore
    istruzioni della macro Rendiconto (ma contenente anche quelle di Pulizia
End Select
End sub

In ambedue i casi istruzioni chilometriche.
Che ne pensate?
Ricky0185
Utente Senior
 
Post: 463
Iscritto il: 10/12/19 20:38

Re: Non esecuzione macro se..

Postdi Marius44 » 07/07/26 07:32

Ciao
Se ho capito bene dovrebbe essere sufficiente il seguente codice
Codice: Seleziona tutto
Option Explicit

Sub Rendiconto()
If Range("A1") <> "" Then
  Call Pulizia
End If
Stop 'il tuo codice per Rendiconto
End Sub

Sub Pulizia()
Stop
End Sub

Cioè se la cella A1 è vuota esegue la macro Rendiconto, se invece è piena prima richiama Pulizia e poi esegue Rendiconto.
Ciao,
Mario
Marius44
Utente Senior
 
Post: 685
Iscritto il: 07/09/15 22:00

Re: Non esecuzione macro se..

Postdi Ricky0185 » 07/07/26 16:43

ho una macro principale "Rendiconto" che all'apertura richiama un'altra macro "Pulizia

Cioè quando lancio Rendiconto la prima cosa che fa attiva la macro Pulizia. E se la cella CA2 è vuota combina un gran casino. Cioè Pulizia cancella tutte le righe della colonna A dove la cella di quella riga in colonna A è vuota. Capisci che se rilancio una seconda volta Rendiconto (cioè settimanalmente dopo le registrazioni) ed in colonna A non ci sono più celle vuote, con
Codice: Seleziona tutto
SpecialCells(xlCellTypeBlanks.Select
mi va a scegliere e poi cancellare tutte le righe vuote che stanno sopra a
Codice: Seleziona tutto
Range([A8], [A850].End(xlUp).SpecialCells(xlCellTypeBlanks).Select
    If Err = 0 Then
    Selection.EntireRow.Delete

Risolverei il problema inibendo il richiamo alla macro Pulizia che si trova all'inizio della macro Rendiconto solo se la cella CA2 fosse vuota.
In sostanza: Se la cella CA2 è vuota, esegui la macro Rendiconto senza lanciare la macro Pulizia in essa contenuta. Se la cella CA2 è piena lancia la macro Rendiconto che a sua volta esegue la macro Pulizia in essa contenuta.
Chiaro noo ? NO, ma se aspetti stasera vedo di spersonalizzare il file e poi lo pubblico.
Ti saluto
Ricky0185
Utente Senior
 
Post: 463
Iscritto il: 10/12/19 20:38

Re: Non esecuzione macro se..

Postdi Ricky0185 » 07/07/26 17:05

È tutta colpa di Anthony che dice che con Excel si può fare tutto. Allora quando nasce un problema uno incomincia a smucinare prima nel proprio cervello e poi nel web visitando siti su siti e perdendo un mucchio di tempo inutilmente. Quando la soluzione sta sotto i tuoi occhi e basta un Marius (non dico qualunque perchè mi bacerei i gomiti a saperci fare come te) per fartela vedere.
Ho chiuso la soprastante risposta per rimettermi a lavorare ma la mente sempre la a scavare per uscirne. Poi seguendo la tua soluzione e modificandola leggermente....voilà trovato (ma debbo scriverla e provarla).
Cancello il richiamo alla macro Pulizia interna alla Rendiconto. Poi una nuova che Se CA2 è vuota esegui la Rendiconto, se piena esegui Pulizia ed a seguire Rendiconto.
Ricky0185
Utente Senior
 
Post: 463
Iscritto il: 10/12/19 20:38

Re: Non esecuzione macro se..

Postdi Anthony47 » 08/07/26 08:47

:-?
Ma il suggerimento di Mario ha aiutato? Ora hai risolto o "Non ancora"?
Avatar utente
Anthony47
Moderatore
 
Post: 19710
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Non esecuzione macro se..

Postdi Ricky0185 » 08/07/26 11:29

Risolto...con suggerimento di Mario che ringrazio e che mi ha fatto capire quanto principiante sono. La soluzione era li davanti, bastava guardare e ragionare.
Comunque tutte quelle macro sono tue insieme a tante altre e per infilarci dentro qualche altra istruzione bisogna esserci con la testa.
È sempre quel benedetto file che non riesco a scrollarmelo di dosso.
Salutoni a te e Mario
R
Ricky0185
Utente Senior
 
Post: 463
Iscritto il: 10/12/19 20:38


Torna a Applicazioni Office Windows


Topic correlati a "Non esecuzione macro se..":


Chi c’è in linea

Visitano il forum: Nessuno e 33 ospiti