Pergunte aqui
1

Como copiar os nomes das planilhas ?

perguntadas 2016-08-03 13:40:07 +0200

imagem do gravatar de dpan

updated 2016-08-22 15:43:13 +0200

imagem do gravatar de Grafeno

Já criei uma pergunta aqui querendo saber se tem como tirar a média de um valor posicionado na mesma célula de várias planilhas diferentes mas não encontrei uma resposta.

Gostaria de saber se tem algum diretório ou alguma maneira de copiar o NOME das planilhas do meu arquivo ? Lembrando que tem mais de 100 planilhas, dessa maneira posso criar num arquivo de texto e depois copiar para o calc uma fórmula :

='Dia1'.R3

='Dia2'.R3

='Dia3'.R3

E copiar essa fórmula teria como colocar em uma planilha a informação de todas as outras.

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

2 Respostas

0

respondidas 2016-08-04 01:47:00 +0200

imagem do gravatar de Grafeno

Boa noite,


Tente a macro abaixo. Ela exibe o nome de todas as planilhas do arquivo do Calc:

Sub Nomes_das_Planilhas
Dim oDoc As Object, oPlanilhas As Object
Dim sMsg As String 
Dim aNomes()

    oDoc = ThisComponent
    oPlanilhas = oDoc.Sheets
    aNomes = oPlanilhas.getElementNames 

    sMsg = Join( aNomes,", " )

    MsgBox sMsg 
End Sub


Atte,
Grafeno

editar assinalar como ofensivo Excluir Link mais
0

respondidas 2016-08-03 15:17:25 +0200

imagem do gravatar de dpan

Encontrei uma fórmula de Macro que mostra os valores de determinadas linhas de todas as planilhas, não sei se dá pra modificá-la e encontrar o nome das planilhas :

Sub processing_sheets_cells

dim my_doc   as object
Dim my_sheets as object
Dim my_cell as object

Dim sheet_count, i, row, col, cell_value, str

my_doc = ThisComponent
my_sheets = my_doc.Sheets 
sheet_count = my_sheets.Count

for i = 0 to sheet_count - 1        
    str = str & chr(13) & "--------" & chr(13)  
    for row=1 to 4
            for col=0 to 1
                my_cell = ThisComponent.Sheets(i).getCellByPosition(col,row)
                Select Case my_cell.Type
                    Case com.sun.star.table.CellContentType.VALUE
                        cell_value = my_cell.Value
                    Case com.sun.star.table.CellContentType.TEXT
                        cell_value = my_cell.String
                End Select
                str = str & " " & cell_value
            next col
            str = str & Chr(13)
    next row
next i
msgbox str

End Sub

editar assinalar como ofensivo Excluir Link mais
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2016-08-03 13:40:07 +0200

Lidas: 137 vezes

Última atualização: Aug 04 '16