| | Post: 29 | Registrato il: 19/06/2016
| Città: MILANO | Età: 44 | Utente Junior | 2010 | | OFFLINE | |
|
16/01/2018 16:53 | |
|
|
| | Post: 507 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Senior | Excel2019 | | OFFLINE |
|
16/01/2018 22:22 | |
Ciao
L'assenza di risposte penso sia dovuta a diversi fattori:
- non presenti nulla di tuo, eventualmente da correggere (non vorrai mica la pappa-pronta?)
- il file ha dei collegamenti che non è possibile aggiornare; ad esempio questo
='\\sinactabo01a\homes\GnerreM\Desktop\Rating&Formazione\Risk\Modello di Rating\[Decision Support System - (DSS).xlsm]Analidi di Benchmark'!$C$6:$C$22
- scrivi che i dati devono essere messi in ordine per col. C,D,E,F ma sai benissimo che si possono mettere in ordine SOLO in base ad una colonna (altrimenti combini un pasticcio).
Ti posto 3 macro che cambiano il tuo Grafico ma tieni presente che i Grafici di Excel sono oltre 70 e non tutti adattabili al tuo lavoro.
Sub Grafico_Torta()
On Error GoTo xit
With ActiveSheet.ChartObjects(1)
.Chart.Type = xlPie
End With
Exit Sub
xit:
MsgBox "Creare prima un Grafico"
End Sub
Sub Grafico_Linee()
On Error GoTo xit
With ActiveSheet.ChartObjects(1)
.Chart.Type = xlLine
End With
Exit Sub
xit:
MsgBox "Creare prima un Grafico"
End Sub
Sub Grafico_Istogramma3D()
On Error GoTo xit
With ActiveSheet.ChartObjects(1)
.Chart.Type = xl3DColumn
End With
Exit Sub
xit:
MsgBox "Creare prima un Grafico"
End Sub
Ciao,
Mario |
| | Post: 29 | Registrato il: 19/06/2016
| Città: MILANO | Età: 44 | Utente Junior | 2010 | | OFFLINE | |
|
17/01/2018 07:37 | |
Mario,
grazie per la risposta ma se mi rivolgo a voi è perchè non conosco bene l'utilizzo dei codici VBA e non ho le vostre competenze e ho visto nel forum che siete abbastanza esperti per risolvere questo caso.
Forse mi sono spiegato male, devo poter selezionare una sola colonna e ordinarla non tutte.
Non voglio altri tipi grafici ma solo quello che è nel foglio di lavoro.
Voglio solo attivare con un pulsante, che seleziona la colonna, ordinarla e creare il grafico così com'è esposto.
A disposizione per altri chiarimenti e GRAZIE per la disponibilità
|
| | Post: 508 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Senior | Excel2019 | | OFFLINE |
|
17/01/2018 08:47 | |
Ciao Michele
io il lavoro te l'ho fatto ma, vista la tua dichiarata scarsa o nulla conoscenza del VBA, come farai in caso di malfunzionamenti futuri?
Questa la macro utilizzata
Private Sub Worksheet_Change(ByVal Target As Range)
'by Marius44
If Not Intersect(Target, Range("J5")) Is Nothing Then
'assume la colonna relativa alla scelta
cln = Application.WorksheetFunction.Match(Target.Value, Range("A1:G1"), 0)
'ordina A5:G18 in base alla colonna scelta
Range("A5:G18").Select
LC = Replace(Cells(1, cln).Address(False, False), "1", "")
Selection.Sort Key1:=Range(LC & 5), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
'costruisce stringa e minscale e maxscale per i dati
strDATI = LC & "2:" & LC & "18"
minSC = Application.WorksheetFunction.Min(Sheets(1).Range(strDATI))
maxSC = Application.WorksheetFunction.Max(Sheets(1).Range(strDATI))
'assegna valori colonna al Grafico
ActiveSheet.ChartObjects(1).Activate
With ActiveChart
.SetSourceData Source:=Sheets(1).Range(strDATI)
.Axes(xlValue).MinimumScale = minSC
.Axes(xlValue).MaximumScale = maxSC
End With
Cells(1, 1).Select
End If
End Sub
Ti allego il file e dimmi se è ciò che volevi
Ciao,
Mario |
| | Post: 30 | Registrato il: 19/06/2016
| Città: MILANO | Età: 44 | Utente Junior | 2010 | | OFFLINE | |
|
17/01/2018 20:06 | |
|
|
|