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

Scelta grafico

Ultimo Aggiornamento: 17/01/2018 20:06
Post: 29
Registrato il: 19/06/2016
Città: MILANO
Età: 44
Utente Junior
2010
OFFLINE
16/01/2018 16:53

Salve a tutti,

vi allego il mio file dove è spiegato il problema.

Vorrei avere una macro che mi ordina prima tutti i dati e poi mi dia la possibilità di scegliere il grafico desiderato ai fini di un'analisi comparativa.

[SM=x423023] [SM=x423023] [SM=x423023] [SM=x423023] [SM=x423023]
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

Grafico
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

Scelta grafico
Ottimo Mario era proprio quello che desideravo !!!

[SM=x423028] [SM=x423028] [SM=x423028]

[SM=x423017] [SM=x423017] [SM=x423017] [SM=x423017]
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 19:30. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com