nello stesso if dove verifichi i nomi dei fogli verifichi anche che il sText sia uguale al MAX dell'intervallo dove hai le date
nello stesso if dove verifichi i nomi dei fogli verifichi anche che il sText sia uguale al MAX dell'intervallo dove hai le date
ok, ma è quello che non riesco a fare! come lo recupero il max tramite macro?Originariamente inviato da raven74
nello stesso if dove verifichi i nomi dei fogli verifichi anche che il sText sia uguale al MAX dell'intervallo dove hai le date
non ne ho idea
ma non puoi mettere il max in una casella di ogni foglio e valutare solo quella?
purtroppo noOriginariamente inviato da raven74
non ne ho idea
ma non puoi mettere il max in una casella di ogni foglio e valutare solo quella?![]()
forse ci sono riuscita con questo codice, però mi restituisce dei valori tipo 40876 che credo che devo rincorvertire in data...come si fa? grazie ancora
codice:oCellRange = Sheet.getCellRangeByName("A1:A10") svc = createUnoService( "com.sun.star.sheet.FunctionAccess" ) arg = Array(oCellRange) MinValue = svc.callFunction("Max",arg) msgbox (minvalue)
ok ho fatto un passo avanti... ho ricavato il max delle date! E il lavoro continua...
codice:SUB DISTINTA2 ' Doc = Thiscomponent Sheet = Doc.Sheets row = 13 distinta1 = Doc.sheets.getbyname("DISTINTA") sText = InputBox ("Anno di riferimento: ","Scelta anno di riferimento") for each sheet in Doc.Sheets if(sheet.name <> "DISTINTA" and sheet.name <> "SCHEDA SINTETICA DI PARTITA" and sheet.name <> "RIPARTO FRUTTI") Then 'if max di j7-j16 =anno oCellRange = Sheet.getCellRangeByName("j7:j16") svc = createUnoService( "com.sun.star.sheet.FunctionAccess" ) arg = Array(oCellRange) MinValue = svc.callFunction("Max",arg) 'Assegnamo il nome "MyCell" alla cella B5 quindi: ' msgbox datadiriferimento minvalue2=Format(minvalue, "dd/mm/yyyy") msgbox (minvalue &" - " & minvalue2) ' msgbox CellRangeAddressString( _ ' oSheet.getCellByPosition(3,6)) valore = sheet.getCellByPosition(1, 6).String ' numero partita VALORE2= sheet.getCellByPosition(2, 6).value ' numero capi VALORE3= sheet.getCellByPosition(5, 6).VALUE ' peso iniziale VALORE4= sheet.getCellByPosition(8, 39).value VALORE5= sheet.getCellByPosition(14, 17).value distinta1 = Doc.sheets.getbyname("DISTINTA") distinta1.getCellByPosition(0, row).String = valore distinta1.getCellByPosition(1, row).VALUE = valore2 distinta1.getCellByPosition(3, row).VALUE =VALORE3 distinta1.getCellByPosition(7, row).value =VALORE4 distinta1.getCellByPosition(4, row).value =VALORE5 row = row + 1 endif next sheet NomeFoglio=Sheet.name End SUB
Ho risolto il mio precedente problema, ricavando l'anno e confrontandolo con l'anno che mi serve.
Ora ho un altro grosso problema sempre riferito a questi fogli.
Devo ricavare un numero facendo praticamente un somma.se però questo somma.se lo dovrei fare sempre a livello di macro. però mi pare che la function che avevo usato per il max non funzioni per il somma.se.
svc = createUnoService( "com.sun.star.sheet.FunctionAccess" )
Quindi in tutti i fogli nel range T7:T16 devo controllare se ce scritta la sigla OY e sommare la corrispondenza che si trova nel range I7:I16
Qualcuno ha un'idea di come si faccia?