Il mio problema nasce dal fatto che su una singola offerta, composta da più articoli, io debba riportare un'aliquota iva e una percentuale sconto differente per tipologia di articolo, quindi devo costruire il mio articolo con dei codici diversi e poi tirar fuori il prezzo per poter applicare L'iva di riferimento
la macro che ti riporto in basso, fa una sommatoria di alcuni valori riportati alla colonna"e" ed alla colonna"f", dopo la riga 24. Il problema nasce quando lanciando la macro " totparziale", anzicchè fare solo il totale delle righe comprese tra le due linee ( scritte come carattere), mi somma l'intera colonna a partire sempre dalla riga 24 , fcendomi due volte la somma sempre dello stesso valore ..... si può corregegre in modo che in un intervallo definito ( tra 2 righe scritte come testo ) si possa fare la sommatoria delle celle che hanno un valore prezzo ?
http://www.megaupload.com/?d=6SFLIUNY- allego il file (semplificato ) in modo da poter essere più chiaro nell'esporre il mio problema ....
p.s. per fare una provare a clikkare il pulsante "Scrivi prezzo parziale articolo" e controllare la formula che si presenterà alla riga 42 colonna E , e riga 43 Colonna E - sono somme errate perchè riprendono anche i prezzi dell'articolo precedente che è composto da più codici ...invece dovrebbe prendere solo quelli (3 o 4 dell'articolo di riferiemnto )
grazie
Sub Totale_parziale()
' prezzo unitario '
UBI = Worksheets("preventivo").Range("A3333").End(xlUp).Row + 1 ' alla la prima riga vuota'
Worksheets("preventivo").Range("A" & UBI) = "costo unitario" ' scrive il testo in colonna A per chiusura'
Worksheets("preventivo").Range("B" & UBI) = "articolo fornito come sopra descritto" ' scrive il testo in colonna A per chiusura'
Worksheets("preventivo").Range("E" & UBI).FormulaR1C1 = "=SUM(R[" & 24 - UBI & "]C:R[-1]C)" ' somma il prezzo unitario DOVREBBE SOMMARE SOLO GLI ARTICOLI DI RIFERIMENTO!! DOVREBBE SOMMARE SOLO GLI ARTICOLI DI RIFERIMENTO, CIOè DAL RIF.VOCE UNITARIO PRECEDENTE'
' somma dalla riga 24 all'ultima riga compilata !! DOVREBBE SOMMARE SOLO GLI ARTICOLI DI RIFERIMENTO, CIOè DAL RIF.VOCE UNITARIO PRECEDENTE'
Worksheets("preventivo").Range("f" & UBI).Font.Bold = False
'imponibile'
UBI = Worksheets("preventivo").Range("A3333").End(xlUp).Row + 1 ' alla prima riga vuota scrive lo sconto'
Worksheets("preventivo").Range("A" & UBI) = "prezzo" '
Worksheets("preventivo").Range("b" & UBI) = "articolo fornito per le quantità sopra descritte" '
Worksheets("preventivo").Range("e" & UBI).FormulaR1C1 = "=SUM(R[" & 24 - UBI & "]C[+1]:R[-1]C[+1])"
' colore bianco ai prezzi unitari '
UBI = Worksheets("preventivo").Range("A3333").End(xlUp).Row + 1 ' alla la prima riga vuota'
Worksheets("preventivo").Range("F" & UBI).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)" ' sistema i formati '
Worksheets("preventivo").Range("A" & UBI).Font.Bold = False
Worksheets("preventivo").Range("B" & UBI).Font.Bold = False
' sconto'
UBI = Worksheets("preventivo").Range("A3333").End(xlUp).Row + 1 ' alla prima riga vuota scrive lo sconto'
Worksheets("preventivo").Range("A" & UBI) = "Sconto" ' inserisce la riga di chiusura'
Worksheets("preventivo").Range("b" & UBI) = "importo a detrarre" ' inserisce la riga di chiusura
Worksheets("preventivo").Range("C" & UBI) = "0"
Worksheets("preventivo").Range("d" & UBI) = "%"
Worksheets("preventivo").Range("E" & UBI).FormulaR1C1 = "=-((R[-1]C)*(RC[-2])/100)"
Worksheets("preventivo").Range("A" & UBI).Font.Bold = False
Worksheets("preventivo").Range("F" & UBI).Font.Bold = False
' si dovrebbe cancellare ma la archivio per promemoria = Worksheets("preventivo").Range("F" & UBI).FormulaR1C1 = "=(R[-1]C)-(RC[-1])" ' somma dalla riga 24 all'ultima riga compilata !! DOVREBBE SOMMARE SOLO GLI ARTICOLI DI RIFERIMENTO, CIOè DAL RIF.VOCE UNITARIO PRECEDENTE'
'imponibile lordo'
UBI = Worksheets("preventivo").Range("A3333").End(xlUp).Row + 1 ' alla prima riga vuota scrive lo sconto'
Worksheets("preventivo").Range("A" & UBI) = "imponibile" ' inserisce la riga di chiusura'
Worksheets("preventivo").Range("b" & UBI) = "prezzo di vendita escluso iva" '
Worksheets("preventivo").Range("f" & UBI).FormulaR1C1 = "=(R[-2]C[-1])+(R[-1]C[-1])"
Worksheets("preventivo").Range("A" & UBI).Font.Bold = False
'iva
UBI = Worksheets("preventivo").Range("A3333").End(xlUp).Row + 1 ' alla prima riga vuota scrive lo sconto'
Worksheets("preventivo").Range("A" & UBI) = "IVA" ' inserisce la riga di chiusura'
Worksheets("preventivo").Range("b" & UBI) = "importo a sommare" '
Worksheets("preventivo").Range("C" & UBI) = "0"
Worksheets("preventivo").Range("d" & UBI) = "%"
Worksheets("preventivo").Range("g" & UBI).FormulaR1C1 = "=((R[-1]C[-1])*(RC[-4])/100)"
Worksheets("preventivo").Range("g" & UBI).NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
Worksheets("preventivo").Range("A" & UBI).Font.Bold = False
Worksheets("preventivo").Range("F" & UBI).Font.Bold = False
Worksheets("preventivo").Range("G" & UBI).Font.Bold = False
' si dovrebbe cancellare ma la archivio per promemoria =Worksheets("preventivo").Range("F" & UBI).FormulaR1C1 = "=(R[-1]C)+(RC[-1])" ' somma dalla riga 24 all'ultima riga compilata !! DOVREBBE SOMMARE SOLO GLI ARTICOLI DI RIFERIMENTO, CIOè DAL RIF.VOCE UNITARIO PRECEDENTE'
' totale prezzo di vendita'
UBI = Worksheets("preventivo").Range("A3333").End(xlUp).Row + 1 ' alla prima riga vuota scrive lo sconto'
Worksheets("preventivo").Range("A" & UBI) = "prezzo di vendita articolo" ' inserisce la riga di chiusura'
Worksheets("preventivo").Range("b" & UBI) = "Prezzo a pagare compreso IVA" ' inserisce la riga di chiusura
Worksheets("preventivo").Range("C" & UBI) = " "
Worksheets("preventivo").Range("d" & UBI) = " "
Worksheets("preventivo").Range("E" & UBI).FormulaR1C1 = " "
Worksheets("preventivo").Range("H" & UBI).FormulaR1C1 = "=(R[-1]C[-1])+(R[-2]C[-2])" ' somma dalla riga 24 all'ultima riga compilata !! DOVREBBE SOMMARE SOLO GLI ARTICOLI DI RIFERIMENTO, CIOè DAL RIF.VOCE UNITARIO PRECEDENTE'
Worksheets("preventivo").Range("A" & UBI).Font.Bold = True
Worksheets("preventivo").Range("B" & UBI).Font.Bold = True
Worksheets("preventivo").Range("F" & UBI).Font.Bold = True
Worksheets("preventivo").Range("G" & UBI).Font.Bold = True
Worksheets("preventivo").Range("H" & UBI).Font.Bold = True
'chiusura'
UBI = Worksheets("preventivo").Range("A3333").End(xlUp).Row + 1 ' alla prima riga vuota di chiusura parziale'
Worksheets("preventivo").Range("A" & UBI) = "_________________" ' inserisce la riga di chiusura'
Worksheets("preventivo").Range("B" & UBI) = "_____________________________________" ' inserisce la riga di chiusura'
Worksheets("preventivo").Range("C" & UBI) = "_______" ' inserisce la riga di chiusura'
Worksheets("preventivo").Range("D" & UBI) = "_______" ' inserisce la riga di chiusura'
Worksheets("preventivo").Range("E" & UBI) = "___________" ' inserisce la riga di chiusura'
Worksheets("preventivo").Range("F" & UBI) = "_______________" ' inserisce la riga di chiusura'
Worksheets("preventivo").Range("G" & UBI) = "_______________" ' inserisce la riga di chiusura'
Worksheets("preventivo").Range("H" & UBI) = "_____________" ' inserisce la riga di chiusura'
End Sub
Grazie mille