Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

modifica per totale progressivo

Ultimo Aggiornamento: 28/03/2017 11:24
Post: 394
Registrato il: 28/05/2011
Città: MILANO
Età: 43
Utente Senior
excel 2000/2007
OFFLINE
26/03/2017 17:55

Ciao a tutti.
Chiedo un aiuto per una modiifca al workbook allegato.
Ad ogni "stampa foglio" in numero progressivo aumenta e vorrei aggiungere che il totale di questa stampa
venga aggiunto in progressione nel foglio "conteggio" partendo da B3.
Ad ogni azzeramento con "azzera num. prog. e conteggio" deve ricomciare da B3 per ogni inserimento.
Spero di essermi spiegato.
john
---------------
excel 2007
Post: 395
Registrato il: 28/05/2011
Città: MILANO
Età: 43
Utente Senior
excel 2000/2007
OFFLINE
27/03/2017 18:22

Ciao a tutti,
forse non mi sono spiegato bene?
john
---------------
excel 2007
Post: 1.144
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
27/03/2017 19:27

Ciao
in effetti non è chiaro. Cosa vuoi nel foglio conteggio il numero riportato in M2 del foglio stampa? quindi per esempio in B3 4 poi in B4 5, poi in B5 6 ecc (che poi si azzereranno?).

Inoltre poiché il contatore parte da 1, dopo la prima stampa, in M2 c'è 2. Che ci vuoi in conteggi 1 o 2 ?

saluti


[Modificato da dodo47 27/03/2017 19:31]
Domenico
Win 10 - Excel 2016
Post: 396
Registrato il: 28/05/2011
Città: MILANO
Età: 43
Utente Senior
excel 2000/2007
OFFLINE
27/03/2017 19:57

Ciao domenico,
mi sono espresso male.
Ho trovato nel mio database questa macro che non è proprio perfetta:

Option Explicit

Sub copia_articolo()
   Dim ultimariga As Range
   
   Foglio1.Range("F46").Select
    Selection.Copy
    
   Foglio3.Select
   
ultimariga = Range("B" & Rows.Count).End(xlUp).Row
Cells(ultimariga + 1, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False

End Sub



che copia la cella F46 del Foglio1 nella prima cella libera della colonna B del Foglio3 ma dà errore perchè ci sono delle celle unite nel Foglio3.
L'incolla nel Foglio3 deve partire dalla cella B3.
Allego l'esempio con la nuova macro.
john
---------------
excel 2007
Post: 3.789
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
28/03/2017 08:12

le celle unite non piacciono al VBA

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 1.146
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
28/03/2017 09:50

Ciao
specie se al posto di dichiarare Long ultimariga lo dichiari "range" !!

Modifico adattando il tuo modo di ragionare che non è certo un esempio di programmazione:
Sub copia_articolo()
   Dim ultimariga As Long '<<<<<<<<<<<<<
   
   Foglio1.Range("F46").Select
    Selection.Copy
    
   Foglio3.Select
   
ultimariga = Range("B" & Rows.Count).End(xlUp).Row
If ultimariga = 1 Then ultimariga = 3 Else ultimariga = ultimariga + 1
Cells(ultimariga, 2).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False

End Sub


Saluti
[Modificato da dodo47 28/03/2017 09:50]
Domenico
Win 10 - Excel 2016
Post: 3.790
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
28/03/2017 11:24

john, dichiarare tutte le variabili è una prassi molto corretta e consigliata, però occorre avere le idee ben chiare, nel dubbio è meglio non dichiararle eliminando option explicit.
Nel tuo caso per definire
ultimariga = Range("B" & Rows.Count).End(xlUp).Row

hai usato il metodo row, quindi ottieni un numero e non un range.
[Modificato da patel45 28/03/2017 11:25]

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 11:58. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com