Ciao a tutti
Ho il seguente problema, non riesco a far passare il valore si una variabile dentro una formula, ho visionato anche questa discussione
PROBLEMA VBA EXCEL PASSARE LE VARIABILI AD UNA FORMULA provandola ma non ho risolto il problema
Devo inserire dati provenienti da file di excel all'interno di un grafico, in sostanza l'utente indica tramite Msgbox quale anno di riferimento desidera e il programma "dovrebbe" inserire nel campo "valori" all'interno della serie 2 del grafico il riferimento ad un determinato intervallo di una determinata pagina di un determinato file di excell.
Questi files si chiamano RISOLUTORE2009.xls, RISOLUTORE2008.xls ecc.
Ho creato una variabile chiamata STRINGA che riporta come valore di testo RISOLUTORE2009.xls o RISOLUTORE2008.xls ecc. ma all'interno dei valori del grafico viene riportato la parola STRINGA e non il valore di STRINGA
ECCO LA PARTE DEL CODICE
Dim STRINGA As String
STRINGA = ""
STRINGA = ("[RISOLUTORE" & anno_precedente & ".XLS]")
ActiveChart.SeriesCollection(2).Name = anno_precedente
ActiveChart.SeriesCollection(2).Values = _
"=([STRINGA]PRESENZE!R2C9:R31C9,[STRINGA]PRESENZE!R33C9:R63C9,[STRINGA]PRESENZE!R65C9:R94C9,[STRINGA]PRESENZE!R96C9:R126C9,[STRINGA]PRESENZE!R128C9:R158C9,[STRINGA]PRESENZE!R160C9:R188C9)"
come potrei risolvere il problema cioè passare il valore della variabile alla formula?
PS. excel 2000
VBA 6.0
SE FOSSE NECESSARIO ECCO TUTTO IL CODICE
Sub Macro6()
'
' Macro6 Macro
' Macro registrata il 06/02/2010
'
Dim anno_in_corso As String
Dim anno_precedente As String
anno_in_corso = ""
anno_precedente = ""
Dim Message, Title, Default, MyValue
Message = "Immetti l'anno in corso con formato aaaa" ' Imposta il messaggio.
Title = "Impostazione anno in corso" ' Imposta il titolo.
Default = "2010" ' Imposta il valore predefinito.
' Visualizza il messaggio, il titolo e il valore predefinito.
MyValue = InputBox(Message, Title, Default)
anno_in_corso = MyValue
Sheets("Comparazione Presenze x data").Select ' si posiziona sul grafico "Comparazione Presenze x data"
ActiveChart.SeriesCollection(1).Delete ' cancella le due serie
ActiveChart.SeriesCollection(1).Delete
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = _
"=(PRESENZE!R2C3:R31C3,PRESENZE!R33C3:R63C3,PRESEN ZE!R65C3:R94C3,PRESENZE!R96C3:R126C3,PRESENZE!R128 C3:R158C3,PRESENZE!R160C3:R188C3)"
ActiveChart.SeriesCollection(1).Values = _
"=(PRESENZE!R2C9:R31C9,PRESENZE!R33C9:R63C9,PRESEN ZE!R65C9:R94C9,PRESENZE!R96C9:R126C9,PRESENZE!R128 C9:R158C9,PRESENZE!R160C9:R188C9)"
ActiveChart.SeriesCollection(1).Name = anno_in_corso
Dim Message2, Title2, Default2, MyValue2
Message2 = "Immetti l'anno precedente con formato aaaa" ' Imposta il messaggio.
Title = "Impostazione anno in corso" ' Imposta il titolo.
Default2 = "2009" ' Imposta il valore predefinito.
' Visualizza il messaggio, il titolo e il valore predefinito.
MyValue2 = InputBox(Message2, Title2, Default2)
anno_precedente = MyValue2
Dim STRINGA As String
STRINGA = ""
STRINGA = ("[RISOLUTORE" & anno_precedente & ".XLS]")
ActiveChart.SeriesCollection(2).Name = anno_precedente
ActiveChart.SeriesCollection(2).Values = _
"=([STRINGA]PRESENZE!R2C9:R31C9,[STRINGA]PRESENZE!R33C9:R63C9,[STRINGA]PRESENZE!R65C9:R94C9,[STRINGA]PRESENZE!R96C9:R126C9,[STRINGA]PRESENZE!R128C9:R158C9,[STRINGA]PRESENZE!R160C9:R188C9)"
End Sub