Inserimento formula...
 
Notifiche
Cancella tutti

La consultazione del forum è libera per tutti.

Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).

Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.

[Risolto] Inserimento formula da vba

16 Post
3 Utenti
0 Reactions
602 Visualizzazioni
Forum 1
(@cdino)
Post: 0
New Member
Avviatore di Topic
 

Buongiorno a tutti,

questo è la prima volta che scrivo su questo sito, fino ad adesso ho ricavato molti aiuti leggendo le vostre discussioni.

Questo è il mio problema, devo inserire in alcune celle delle formule come sotto:

For co = 7 To 18
Cells(rigainizioformule + 2, colonnainizioformule + co).Formula = "=DB.Somma('27-02-2024'!A1:T328;'27-02-2024'!H1;'Filtro Art'!B1:B2)"
Next co

ma appare l'errore: "Errore definito dall'applicazione o dall'oggetto". Ho provato anche inserendo una formula più semplice, sempre DB.Somma, ma il risultato è lo stesso. Inserendo invece una semplice somma, funziona.

Grazie in anticipo per l'aiuto

Versione di Excel
Sistema operativo
 
Postato : 24/03/2024 19:09
Etichette discussione
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

non riusciresti ad allegare un file esempio

 

 
Postato : 25/03/2024 16:46
Forum 1
(@cdino)
Post: 0
New Member
Avviatore di Topic
 

Ciao,

spiego rapidamente di cosa si tratta: un articolo è formato da molti componenti tra questi anche da un fondello. In base alla data di produzione la quantità viene inserita nel foglio di lavoro in allegato. Mi serve avere un riepilogo delle quantità per ogni settimana di ogni fondello. Il file in esempio è molto semplificato (il file originale può contenere centinaia di righe, e non ha lo stesso numero di righe ad ogni aggiornamento), ed avevo pensato di utilizzare la formula DB.Somma e di incollare la formula per ogni cella nel riepilogo gestendo da VBA il numero di righe con i dati

 

 
Postato : 25/03/2024 21:37
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

ho visto il file

ma non ti basta

in H13 da tirare a destra e in basso

=MATR.SOMMA.PRODOTTO(($T$3:$T$11=$F13)*($G$3:$G$11=H$1);$E$3:$E$11)

 

o vuoi proprio il vba

 
Postato : 26/03/2024 09:49
Forum 1
(@cdino)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 

Ciao,

con la tua formula funziona perfettamente, ma preferirei farlo in VBA in modo da poter automatizzare il tutto.

 

 
Postato : 26/03/2024 20:13
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

vediamo se i vbaisti intervengono

 
Postato : 27/03/2024 00:25
tanimon
(@tanimon)
Post: 0
New Member
 

ciao,

ho inserito un paio di commenti alla Macro2 del Modulo2,

DOPO, si potrà valutare ciò che vuoi realizzare 😉 

Sub Macro2()
'
' Macro2 Macro
'INSERISCE NELLE CELLE COPIATE DAL FOGLIO "FORMULE DA INCOLLARE" LE FORMULE CORRETTE
    Dim WS As Worksheet
    Dim RNG As Range
    Dim foundCell As Range
    Dim V As Integer, ColonnaInizioFormula As Integer
    Dim NomeCella
'===================================================================================================
' nel file che  hai allegato, QUESTO FOGLIO NON E' PRESENTE e va da sè che le variabili che vuoi
' ricavare da esso non possono valorizzarsi!
' allega un file reale e consono alle aspettative....

 Set WS = ThisWorkbook.Sheets("FormuleDaIncollare")     'Imposta ws come il foglio "FormuleDaIncollare"
 
'===================================================================================================
 UR = Evaluate("MAX(INDEX((A:A<>"""")*ROW(A:A),))")     'Ultima riga della colonna A con un valore (funziona anche se in mezzo ci sono delle celle vuote)
 Set RNG = WS.Range("A1:A" & UR)               'Imposta l'intervallo di celle dove cercare
 'Cerco la riga dove iniziano i blocchi dei totali dei fondelli
 For V = 65 To 69   'Codice Ascii dei caratteri da A ad E, che sono le celle che identificano i cinque blocchi di codici dei fondelli
     Set foundCell = RNG.Find(What:=Chr(V), LookIn:=xlValues, LookAt:=xlWhole)     'Questa è la cella in cui si trova la lettera de cercare
     NomeCella = foundCell.Address                                                 'Questo è l'indirizzo della cella
     colonnainizioformule = Range(NomeCella).Column                                'Colonna in formato numerico della cella
     rigainizioformule = Range(NomeCella).Row                                      'Riga in formato numerico della cella
     For co = 7 To 18
        Cells(rigainizioformule + 2, colonnainizioformule + co).Formula = "=DB.Somma('27-02-2024'!A1:T328;'27-02-2024'!H1;'Filtro Art'!B1:B2)"
     Next co
 Next V
'============================================================================
'ricordati di "svuotare" le varibili oggetto con questa istruzione

Set WS = Nothing

'============================================================================

End Sub
 
Postato : 27/03/2024 08:13
Forum 1
(@cdino)
Post: 0
New Member
Avviatore di Topic
 

@tanimon 

Ciao,

per semplificare il file ho cancellato un po' troppo.

Nel foglio 27-02-24 dalla cella H332, ho inserito le formule suggerite da gianfranco55 e sembra funzionare (devo controllare ancora per bene).

Invece nel foglio Formule da incollare, nelle prime due righe ho inserito la formula DB.somma ma il totale risulta sfalsato di 2 colonne (nelle prime 2 righe, poi è completamente sbagliato

)

Allego il file un po' più completo.

 
Postato : 27/03/2024 21:27
tanimon
(@tanimon)
Post: 0
New Member
 

ciao,

nel foglio Formule da incollare in cella H4 metti la formula DB.somma funzionante,

e specifica come devono cambiare i riferimenti per le altre celle.

 

poi vediamo come inserirla in tutte le celle dove ti interessa inserirla

Frank

Questo post è stato modificato 12 mesi fa da tanimon
 
Postato : 28/03/2024 08:19
Forum 1
(@cdino)
Post: 0
New Member
Avviatore di Topic
 

@tanimon 

Ciao,

Ho inserito tutte le formule nel foglio FormuleDaIncollare ed i cambiamenti nelle celle successive sono questi:

Nella stessa riga cambia solo il riferimento alla colonna, incrementando di una  (=DB.SOMMA('27-02-2024'!$F$1:$S$328;'27-02-2024'!H$1-3;'Filtro Art'!$B$1:$B$2))

Nella riga successiva cambia il riferimento nel filtro della funzione, incrementando di una colonna (=DB.SOMMA('27-02-2024'!$F$1:$S$328;'27-02-2024'!H$1-3;'Filtro Art'!$C$1:$C$2))

Tutto questo vale per il gruppo di formule A, per le formule successive cambia il riferimento al filtro che dovrà puntare alle formule del gruppo B del foglio "Filtro Art".

Spero di essere stato chiaro, allego il file.
Grazie

 

 
Postato : 30/03/2024 11:45
tanimon
(@tanimon)
Post: 0
New Member
 

ciao,

purtroppo per problemi personali in questi giorni non riesco a seguire il forum come vorrei...

Se la tua richiesta non è urgente.... la valuterò nelle prossime settimane...

diversamente valuta tu alternative a cui rivolgerti..

Buone vacanze 😀 

 
Postato : 30/03/2024 12:11
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

la formula è

=DB.SOMMA('27-02-2024'!$F$1:$T$328;'27-02-2024'!H$2-3;'Filtro Art'!$B$1:$B$2)

per le altre righe non capisco la logica

 
Postato : 30/03/2024 15:03
Forum 1
(@cdino)
Post: 0
New Member
Avviatore di Topic
 

@tanimon

Ciao, non è urgente

Grazie e buone feste

 
Postato : 30/03/2024 16:25
Forum 1
(@cdino)
Post: 0
New Member
Avviatore di Topic
 

@gianfranco55 Ciao,

si la formula è corretta e funziona, il problema è che se cerco di incollarla tramite VBA in una cella, appare l'errore "Errore definito dall'applicazione o dall'oggetto" e non capisco il perché. 

 
Postato : 30/03/2024 16:34
gianfranco55
(@gianfranco55)
Post: 1797
Moderatore
 

ciao

di vba poco ne capisco

questa sera ci provo

ma ho idea che servano Tanimon e Marius per risolvere l'enigma

 
Postato : 30/03/2024 17:05
Pagina 1 / 2
Condividi:
My Agile Privacy
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.
Attenzione: alcune funzionalità di questa pagina potrebbero essere bloccate a seguito delle tue scelte privacy
     Scarica il nostro ebook gratuito     

Unisciti a oltre 35.000 professionisti
che hanno già scelto di semplificare il proprio lavoro
e aumentare la produttività con la nostra newsletter!

Scarica l’ebook con i
migliori trucchi e suggerimenti per Excel
selezionati per te da Excel Academy

Download