1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

ajuda vba

Discussão em 'Programação' iniciada por Cristiana, 6 de Março de 2006. (Respostas: 2; Visualizações: 1051)

  1. Olá,

    sou nova nestas coisas de programação. Mas como vou precisar de usar nos próximos tempos vou-vos chatear com algumas questões ... algumas para voces vão ser muito básicas, mas para mim uma enorme dor de cabeça ... :-D

    Bem, para começar, eu estava a experimentar gravar macros em excel ... gravei a seguinte:

    -----

    Range("A6:B9").Select
    Charts.Add
    ActiveChart.ChartType = xlXYScatter
    ActiveChart.SetSourceData Source:=Sheets("Folha1").Range("A6:B9"),
    PlotBy:= _
    xlColumns
    ActiveChart.SeriesCollection(1).Name = "=""Grafico exemplo"""
    ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Grafico exemplo"
    With ActiveChart
    .HasTitle = True
    .ChartTitle.Characters.Text = "Grafico exemplo"
    .Axes(xlCategory, xlPrimary).HasTitle = True
    .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Variável x"
    .Axes(xlValue, xlPrimary).HasTitle = True
    .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Variável y"
    End With
    With ActiveChart.Axes(xlCategory)
    .HasMajorGridlines = True
    .HasMinorGridlines = False
    End With
    With ActiveChart.Axes(xlValue)
    .HasMajorGridlines = True
    .HasMinorGridlines = False
    End With
    ActiveChart.HasLegend = False
    ActiveChart.Axes(xlCategory).MajorGridlines.Select
    With Selection.Border
    .ColorIndex = 16
    .Weight = xlHairline
    .LineStyle = xlContinuous
    End With
    ActiveChart.Axes(xlValue).MajorGridlines.Select
    With Selection.Border
    .ColorIndex = 16
    .Weight = xlHairline
    .LineStyle = xlContinuous
    End With
    ActiveChart.SeriesCollection(1).Select
    ActiveChart.SeriesCollection(1).Trendlines.Add(Type:=xlPower,
    Forward:=0, _
    Backward:=0, DisplayEquation:=False, DisplayRSquared:=False).Select
    ActiveChart.SeriesCollection(1).Trendlines(1).Select
    With Selection.Border
    .ColorIndex = 10
    .Weight = xlMedium
    .LineStyle = xlContinuous
    End With
    ActiveChart.Axes(xlValue).MajorGridlines.Select
    End Sub

    ---------------


    Este código associei-o a um botão de forma que, o utilizador preencha uma tabela de valores e seja criado um gráfico devidamente editado numa nova folha do excel quando prime o botão.

    Gostaria de o alterar de forma que se a pessoa clicar x vezes ele crie x folhas de excel com nomes diferentes.

    Por exemplo, a pessoa preenche a tabela e clica no botão para fazer novo gráfico, e fica com um gráfico na folha "Grafico exemplo", depois altera a tabela e de novo clica no botão para fazer novo gráfico, e fica com um gráfico na folha "Grafico exemplo2" ...


    Desde já muito obrigado
     
  2. d_pintassilgo

    d_pintassilgo Power Member

    Boas!
    Só mesmo esperimentando, mas algures aqui
    ou aqui
    deves de ter se substituir por uma variavel que vai ser carregada com o nome que o user quer dar ao gráfico.
    Podes sempre nao atribuir esse codigo ao botao, mas sim meter o botao a abrir uma janela com uma aplicação com varios botões/campos para preencher para fazer esse trabalho.
     
  3. ;-)

    Ah! Nice ... eu agora parei um bocado mas daki a semanas vou recolmeçar.


    Obrigadoooo :)
     

Partilhar esta Página