Defina os valores Y máximo e mínimo primários iguais aos valores Y secundários correspondentes em um gráfico no Excel?

1

Existe uma maneira de definir a escala em um gráfico para que os valores Y máximo e mínimo primários sejam iguais aos mesmos valores no eixo Y secundário?

Basicamente eu tenho um número de diferentes estoques que eu estou olhando (valores históricos de log), cada qual tem seu próprio gráfico de linha dos preços, e então eu adicionei uma série secundária que mostra 3 linhas horizontais - o preço médio, e um desvio padrão acima e abaixo da média para que eu possa ver a faixa de preço usual em que o estoque flutua (essa série eu tenho como gráfico de dispersão). Meu problema é que o Excel parece estar usando uma escala automática diferente para cada eixo Y (tentei incluir os mesmos valores mínimo e máximo em minhas séries secundárias, mas a escala ainda é diferente às vezes).

O ideal é que, como estou analisando algumas ações diferentes, gostaria de automatizar isso adicionando algumas colunas onde eu poderia definir os valores Y máximo e mínimo para igualar o preço máximo ou mínimo de cada um. estoque (para ambos os eixos primário e secundário). Eu tentei olhar para o seguinte site para ver se eu poderia criar uma macro ( link ), mas minhas habilidades de redação de macros são muito deficientes e não tiveram muita sorte.

Eu percebo que essa solicitação só pode ser possível por meio do VBA, então, basicamente, uma longa história, alguém saberia como configurar uma macro que permitiria que meu gráfico selecionado fosse dimensionado automaticamente usando os parâmetros que eu forneci? (Digamos que a coluna A mostra as datas, B mostra os preços e uma seção à direita (digamos, células D1: F4) especificaria os valores mínimo e máximo de X e Y, e talvez o tamanho da marca da qual a macro poderia ler? (Eu sei como criar uma macro em branco e, em seguida, saltar para a macro em si, mas é aí que eu começo a ficar um pouco perdido para onde realmente colar o código).

    
por steveblank 11.05.2014 / 21:56

2 respostas

0

Este snippet de código deve fornecer o básico para sua solicitação. Em um módulo para sua pasta de trabalho, ela deve ser autônoma ou, daqui, você pode expandi-la para outras planilhas ou modificar qualquer parte de um gráfico. As primeiras duas linhas são para trapping com erro, caso você não tenha um gráfico selecionado. Tudo o resto formata. Basta apontar os intervalos de referência para as células que você gostaria de usar para suas escalas.

Sub CustomAxis()

If ActiveChart Is Nothing Then ' Error trap to ensure a chart is selected
    MsgBox "Please: Select a chart and try again.", vbExclamation

    Else

        ActiveChart.Axes(xlValue).MinimumScale = Range("A2") 'Set min scale to cell A2
        ActiveChart.Axes(xlValue).MaximumScale = Range("A3") 'Set max scale to cell A3
        ActiveChart.Axes(xlValue).MajorUnit = Range("A4") 'Set major tick to cell A4
        ActiveChart.Axes(xlValue).MinorUnit = Range("A5") 'Set minor tick to cell A5

End If

End Sub

    
por 13.05.2014 / 13:53
0

Você pode tornar isso automático e independente do VBA adicionando alguns dados ao gráfico.

Na célula F2 (por exemplo) insira uma fórmula que calcule o mínimo de todos os valores Y nos dois eixos e, em F3, insira uma fórmula que calcule o máximo correspondente. Assim:

Oprimeirográficoabaixomostraapenasosdadosdeestoque,osegundomostraosdadosdeestoquenoeixosecundáriocomaslinhasdereferêncianoeixoprimário(assimaslinhasdereferênciaaparecematrásdosdadosdeestoque).

Noterceirográfico,adicioneiosdadosmin/maxdacolunaFaoeixoprimárioedoquartoaoeixosecundário.

Finalmente,noquintográfico,formateiasduassériesmin/maxsemlinhasoumarcadoresparaquefiquemocultos.Vocêpoderemovê-losdalegenda,senecessário:cliqueumaveznalegendae,emseguida,umaveznalegendaaserexcluída,cliqueemExcluir.

Noentanto,osdadosmudam,oscálculosdemin/maxnacolunaFserãoatualizados,eassimseráográfico.

    
por 03.08.2015 / 15:32