Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

excel macro

Office fa le bizze? Photoshop non funziona più? Forse possiamo darti una mano...

excel macro

Messaggioda Stefano Pasca » ven dic 07, 2007 7:32 am

illustri amici [rolleyes]
ho un quesito da porre su excel:
Desidero sapere nell'intervallo da A1 ad A9 quanti numero "5" ci sono.
Bella questa [rotolo] !!!
chi mi risponde ?
Chi lo sa è bravizzzzzimo !
Grazie
Stefano
Avatar utente
Stefano Pasca
Senior Member
Senior Member
 
Messaggi: 226
Iscritto il: sab ott 18, 2003 10:33 am
Località: Sicilia

Messaggioda Aesir » ven dic 07, 2007 9:49 am

Ciao Stefano se ho ben capito quello che vuoi ecco il codice

Codice: Seleziona tutto
For i = 1 To 9
If Sheets(1).Cells(i, 1) = "5" Then k = k + 1
Next
Sheets(1).Cells(2, 3) = k


la macro inserisce il numero dei 5 nella casella C2

Penso esista una soluzione più bella senza cicli ed if ma dato che non uso mai il vba non so i comandi specifici di confronto tra le celle e comunque questa funziona!

Spero di esserti stato di aiuto

Ciao [ciao]
Avatar utente
Aesir
Bronze Member
Bronze Member
 
Messaggi: 607
Iscritto il: mer dic 05, 2007 6:06 pm
Località: Prov. di Milano

Messaggioda Aesir » ven dic 07, 2007 10:05 am

Scusa forse ho interpretato male [acc2], intendevi anche i 5 di numeri come 455555?

In tal caso il codice sarebbe

Codice: Seleziona tutto
For i = 1 To 9
indice = InStr(Sheets(1).Cells(i, 1), "5")
    Do While indice > 0
    k = k + 1
    indice = InStr(indice + 1, Sheets(1).Cells(i, 1), "5")
    Loop
Next
Sheets(1).Cells(2, 3) = k


Spero di aver capito!

Ciao
Avatar utente
Aesir
Bronze Member
Bronze Member
 
Messaggi: 607
Iscritto il: mer dic 05, 2007 6:06 pm
Località: Prov. di Milano


Messaggioda Stefano Pasca » sab dic 08, 2007 7:01 pm

aisir ciao e grazie,
speravo comunque di non utilizzare una macro bensì delle comuni istruzioni. Infatti siccome il controllo deve essere fatto ogni volta che scrivo in una delle celle in questione, sarei costretto a clikkare sulla macro ogni volta che immetto un dato. A meno che io non possa fare in altro modo.
Sapresti dirmi come ?
comunque grazie
Stefano
Avatar utente
Stefano Pasca
Senior Member
Senior Member
 
Messaggi: 226
Iscritto il: sab ott 18, 2003 10:33 am
Località: Sicilia

Messaggioda Aesir » lun dic 10, 2007 4:06 pm

Ciao Stefano;

Penso che con le funzioni di excel non permettano di farlo (a meno che non si tratti del primo caso, quello con il "5" da solo)comunque deve essere possibile collegare la macro ad un evento di tastiera (magari anche alla pressione del tasto invio).

Purtroppo ora come ora non posso provare nessuna soluzione perché sono fuori casa su un computer linux.

Guarderò a casa se riesco a trovare una soluzione efficente.

Ciao!

p.s. potrebbe essere problematico risponderti almeno fino a mercoledì perché la telecom ha problemi sulla mia linea di casa.
Avatar utente
Aesir
Bronze Member
Bronze Member
 
Messaggi: 607
Iscritto il: mer dic 05, 2007 6:06 pm
Località: Prov. di Milano

Messaggioda Stefano Pasca » lun dic 10, 2007 4:18 pm

Sei un amico....grazie,
aspetto !
ciao Stefano
Avatar utente
Stefano Pasca
Senior Member
Senior Member
 
Messaggi: 226
Iscritto il: sab ott 18, 2003 10:33 am
Località: Sicilia

Messaggioda Aesir » mar dic 11, 2007 3:15 pm

Sempre dal mitico computer-ripiego della biblioteca ecco una soluzione per quello che cerchi. [8D]

Come pensavo le funzioni di excel sono troppo poco elastiche per permettere un elaborzione testo con cicli for e do while ma fortunatamente si può far partire in automatico una macro ogni volta che si seleziona una nuova cella!

ecco come si fa:

1 registri una macro con il solito codice
2 sempre dalla finestra del vba dove sta modulo 1 col destro clicchi sul foglio in cui ti serve funzioni la macro e selezioni visualizza codice
3 nei due menu a tendina in alto nella finestra che si apre, seleziona Worksheet nel primo e l'evento Selection Change nel secondo
4 nella subroutine che crea automaticamente, inserisci come unico comando il nome della prima macro che hai registrato che così parte ogni volta che si cambia selezione nel foglio di lavoro.

Spero di essermi stato spiegato [:D]

Ciao!!![ciao]
Avatar utente
Aesir
Bronze Member
Bronze Member
 
Messaggi: 607
Iscritto il: mer dic 05, 2007 6:06 pm
Località: Prov. di Milano


Torna a Software

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti

cron
Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising