É possível editar a representação de origem de objetos no Excel?

3

Muitas vezes me vejo copiando e colando planilhas para mostrar a mesma análise para diferentes conjuntos de dados. Isso inclui gráficos. É irritante ter que "selecionar dados" para cada série de dados, barras de erro, etc. para cada conjunto de dados.

Depois de criar um gráfico para uma planilha, minhas escolhas são:

  • Copie o gráfico para outra planilha. Use 'selecionar dados' para cada parte
  • Copie a planilha inteira e substitua os dados

Eu preferiria muito mais ver a representação XML (ou qualquer outra) por trás do gráfico e ser capaz de localizar e substituir os nomes de colunas / nomes de planilhas. A interface do Excel atrapalha muito e não facilita a mudança do gráfico repetidamente (particularmente para barras de erro).

Existe alguma representação textual de objetos como gráficos que eu possa editar? (Prefiro não mexer na extração do arquivo xlsx e editar os arquivos XML em um editor de texto).

    
por HXCaine 03.02.2013 / 13:01

2 respostas

0

Inserir dados no Excel 2007 de ...

AbraoarquivoCSV

parte do assistente aberto I

abrirpartedoassistenteII

abrir parte do assistente III

inserirescolhadecélula

refreash as opções de dados do arquivo CSV

vejaoarquivoCSVnoFarManager

Defina o tipo de gráfico

EditeoarquivoCSV

Refundir dados do Excel

EditeoarquivoCSV

Refundir dados do Excel

Configuraçãodosdadosdesegurança

Tudo isso. Se necessário, insira a tabela de rotação e a imagem do gráfico).

    
por 03.02.2013 / 19:26
0

Que tal editar as fórmulas da série? Eu tenho um tutorial em Fórmula da Série de Mudança - Rotinas Aprimoradas , mas a essência é a seguinte:

A fórmula da série é assim: =SERIES(Sheet1!$B$1,Sheet1!$A$2:$A$11,Sheet1!$B$2:$B$11,1)

Os argumentos significam: =SERIES([Series Name],[X Values],[Y Values],[Plot Order])

Você acessa essas fórmulas no VBA usando algo como ActiveChart.SeriesCollection(1).Formula

Você pode usar o seguinte para alterar uma parte da fórmula de 'OldString' para 'NewString':

ActiveChart.SeriesCollection(1).Formula = WorksheetFunction.Substitute( _
    ActiveChart.SeriesCollection(1).Formula, OldString, NewString)

Você pode incluir isso em um procedimento de VBA que solicite ao usuário essa string antiga para substituir por uma nova string e faça as alterações em todas as séries no gráfico ativo:

Sub ChangeSeriesFormula()
    ''' Just do active chart
    If ActiveChart Is Nothing Then
        '' There is no active chart
        MsgBox "Please select a chart and try again.", vbExclamation, _
            "No Chart Selected"
        Exit Sub
    End If

    Dim OldString As String, NewString As String, strTemp As String
    Dim mySrs As Series

    OldString = InputBox("Enter the string to be replaced:", "Enter old string")

    If Len(OldString) > 1 Then
        NewString = InputBox("Enter the string to replace " & """" _
            & OldString & """:", "Enter new string")
        '' Loop through all series
        For Each mySrs In ActiveChart.SeriesCollection
            strTemp = WorksheetFunction.Substitute(mySrs.Formula, _
                OldString, NewString)
            mySrs.Formula = strTemp
        Next
    Else
        MsgBox "Nothing to be replaced.", vbInformation, "Nothing Entered"
    End If
End Sub

O tutorial que citei acima tem mais exemplos de como editar fórmulas de série.

    
por 02.08.2017 / 18:47