Condividi:        

[Excel] Slittamento formule..

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

[Excel] Slittamento formule..

Postdi mpsinf » 16/10/12 18:47

Tramite una macro copio un range di dati da una tabella inserendole sempre in cella A1-C1.
Per evitare di sovrascrivere i dati precedenti ed avere un elenco ordinato, eseguo un inserimento con spostamento di celle in basso

Range(Cells(primariga + a, "AD"), Cells(primariga + a, "AG")).Select ' Range che vado a leggere e selezionare
Selection.Copy
Range("A1:D1").Select
Selection.Insert Shift:=xlDown

Putroppo a fianco (in I1) ho la colonna che mi fa il controllo di quante volte sono presenti questi dati
con la formula =CONTA.SE($B$1:$B$10039;H1) dove H1 rappresenta un nome.

e quindi al successivo ciclo la formula diventa =CONTA.SE($B$2:$B$10040;H1)
partendo da B2 invece che da B1...

come posso risolvere il problema ? oppure soluzione per fare il conta.se in una macro

grazie
XP + Excel 2003 Ita
W7 + Excel 2007 Ita
mpsinf
Utente Senior
 
Post: 168
Iscritto il: 03/09/03 18:33

Sponsor
 

Re: [Excel] Slittamento formule..

Postdi wallace&gromit » 16/10/12 19:44

Non sono sicuro di avere capito tutto correttamente ma ho una proposta banalissima:
introduci una riga di intestazione e fai inserire alla macro le celle A2:D2, mantenendo il conta.se su $B$1
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: [Excel] Slittamento formule..

Postdi Anthony47 » 17/10/12 02:26

Hummm... potrebbe essere piu' semplice "fissare" l' intervallo in cui cercare usando la formulazione
Codice: Seleziona tutto
=CONTA.SE(Indiretto("$B$1:$B$10039");H1)

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

Re: [Excel] Slittamento formule..

Postdi mpsinf » 17/10/12 07:04

wallace&gromit ha scritto:Non sono sicuro di avere capito tutto correttamente ma ho una proposta banalissima:
introduci una riga di intestazione e fai inserire alla macro le celle A2:D2, mantenendo il conta.se su $B$1


Soluzione semplice, però mi allunga la ricerca da $B$1: a $B$10040 secondo ciclo $B$1: a $B$10041 e cosi via
aumentanto la cella "finale"...
XP + Excel 2003 Ita
W7 + Excel 2007 Ita
mpsinf
Utente Senior
 
Post: 168
Iscritto il: 03/09/03 18:33

Re: [Excel] Slittamento formule..

Postdi mpsinf » 17/10/12 07:07

Anthony47 ha scritto:Hummm... potrebbe essere piu' semplice "fissare" l' intervallo in cui cercare usando la formulazione
Codice: Seleziona tutto
=CONTA.SE(Indiretto("$B$1:$B$10039");H1)

Ciao


Buona soluzione unico difetto siccome nella colonna I ci sono le seguenti formule
in I1 =CONTA.SE(INDIRETTO("$B$1:$B$10040");H1)
in I2 =CONTA.SE(INDIRETTO("$B$1:$B$10040");H2)
e via discendendo
se in H1 non c'è niente la formula riporta 1 invece di zero..
e non posso risolverlo con un se ... perchè altrimenti tutti quelli che conta sono uguali al valore 1 me li mette a 0
XP + Excel 2003 Ita
W7 + Excel 2007 Ita
mpsinf
Utente Senior
 
Post: 168
Iscritto il: 03/09/03 18:33

Re: [Excel] Slittamento formule..

Postdi wallace&gromit » 17/10/12 07:52

mpsinf ha scritto:Soluzione semplice, però mi allunga la ricerca da $B$1: a $B$10040 secondo ciclo $B$1: a $B$10041 e cosi via
aumentanto la cella "finale"...

sono ancora perplesso... immagino sia giusto allungare la formula, visto che aggiungi elementi in alto e vuoi ricontrollare ogni volta l'intero elenco, il fondo della lista scende ogni volta di una riga, o no ???
Forse 10040 è un numero arbitrario che non corrisponde alla fine dell'elenco? In questo caso potresti introdurre l'indirizzo indiretto come suggerito da Anthony con un conta.valori per definire il fondo dell'elenco.
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: [Excel] Slittamento formule..

Postdi mpsinf » 17/10/12 18:43

Vi spiego direttamente cosa vorrei fare... all'url http://www.prezzipazzi.com/prodotto/iph ... p?id=73061 (o altra asta attiva) mi ritrovo degli offerenti che man mano che passa il tempo non vengono più visualizzati perchè "vecchi offerenti"
mantenendo aperta la pagina web e collegandola in excel vorrei tenere traccia aggiornata di chi e quante puntate
sono state fatta dal tizio, caio e sempronio ecc. fino a quel momento dall'inzio dell'asta

io avevo realizzato la macro che continuava ciclicamente a rileggere gli ultimi offerenti visualizzati e li elencava
in una tabella per ordine cronologico, poi in 2 colonne a fianco con un conta.se mi faceva vedere
il nome di tizio e quante offerte aveva fatto fino ad ora, e sotto proseguendo caio ecc..

alla fine riordinava le 2 colonne per offerte decrescenti in modo che mi trovassi una tabella del tipo

caio 15
tizio 6
sempronio 1

forse avete un modo più elegante per fare il tutto...
XP + Excel 2003 Ita
W7 + Excel 2007 Ita
mpsinf
Utente Senior
 
Post: 168
Iscritto il: 03/09/03 18:33

Re: [Excel] Slittamento formule..

Postdi Anthony47 » 18/10/12 00:52

Se quel B10040 (cioe' oltre 10mila righe) e' un limite che certamente non supererai a fine asta allora la formula data ha la sua validita'; e non mi torna che "se in H1 non c'è niente la formula riporta 1 invece di zero.."

PERO' da quello che hai scritto nell' ultimo post mi permetto di dire che questo e' lavoro per... una tabella pivot
-nel campo Riga metterai l' Autore dell' offerta
-nel campo Valori (o Data, secondo la versione XL) metterai Conteggio di.Attore
Immagino che ti fara' piacere aggiornare la pivot man mano che aggiungi nuovi dati; per questo bastera' che registri una macro mentre fai "Aggiorna" sulla tabella pivot, poi metti Call MacroAggiorna in coda alla macro che inserisce i nuovi dati.

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

Re: [Excel] Slittamento formule..

Postdi mpsinf » 03/11/12 16:32

Mi riaggancio a questo mio post perchè con una macro ho un problema diciamo quasi simile

Codice: Seleziona tutto
 Range("AA7").Select
  Selection.Copy
  Range("A2").Select
  Selection.Insert Shift:=xlDown
 
   Range("F2").Select
    ActiveCell.FormulaR1C1 = "M"
     Selection.Insert Shift:=xlDown


mentre la prima parte mi prende la cella e me la copia inserendo uno spostamento di celle verso il basso
la seconda parte mi dovrebbe fare la stessa cosa scrivendo M ed inserendo uno spostamento verso il basso, però prima di scrivermi la M e non dopo, perchè così come da codice mi trovo la M una cella più in basso rispetto alla riga della parte del primo pezzo di codice.
Incasinata la spiegazione ? !?

Magari è una banalità, ma alle volte le cose più facili sono quelle più difficili da capire.
XP + Excel 2003 Ita
W7 + Excel 2007 Ita
mpsinf
Utente Senior
 
Post: 168
Iscritto il: 03/09/03 18:33

Re: [Excel] Slittamento formule..

Postdi mpsinf » 03/11/12 17:21

Risolto... prima inserisco la riga shiftando A2 : F2 verso il basso e poi inserisco i dati...
XP + Excel 2003 Ita
W7 + Excel 2007 Ita
mpsinf
Utente Senior
 
Post: 168
Iscritto il: 03/09/03 18:33


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Slittamento formule..":


Chi c’è in linea

Visitano il forum: Nessuno e 41 ospiti