Pergunte aqui
1

Macro para mover linha de uma planilha para outra.

perguntadas 2018-10-25 00:23:28 +0200

imagem do gravatar de Francys

updated 2019-03-01 18:10:41 +0200

Olá! Alguém poderia me ajudar a construir uma macro no CALC que me permitisse mover um determinada linha para uma planilha dependendo do conteúdo de uma célula? Por exemplo: Em uma planilha principal que está contida em A1:T5000. Além dela tenho mais 7 planilhas como o mesmo numero de linhas e colunas que a principal. Preciso que, por exemplo, se em T2 eu colocar "FEITO" toda a linha seja movida para a planilha2 após os dados que já estão lá. e a linha em que estava a linha movida seja apagada. E, se eu colocar outra palavra como "AGUARDAR" a linha vá para a planilha2. seguindo o mesmo processo anterior. e assim sucessivamente para todas as planilhas. Além disso, gostaria que essa macro fosse ativada com um botão clicável dentro da planilha. Consegui uma algo parecido no excel, mas depois de muitas tentivas e procura pela internet não encontrei nada que funcione no calc. Desde já agradeço.

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

2 Respostas

0

respondidas 2018-10-29 11:44:54 +0200

imagem do gravatar de Conrado

@Francys, fiz um outro exemplo para te ajudar também. O exemplo do @Gilberto Schiavinatto também funciona. Este aqui seria um algo a mais para conhecimento.

Abraços.

Arquivo

editar assinalar como ofensivo Excluir Link mais

Comentários

Olá. A planilha ficou boa. Com exceção de alguns detalhes que faltaram. Mas observei no código que vc e o @Gilberto Schiavinatto usaram linguagem diferente para fazer praticamente a mesma coisa.

imagem do gravatar de FrancysFrancys ( 2018-10-29 15:53:39 +0200 )editar
1

@Francys, Basicamente uso o gravador de Macro e depois dou uma "desengordurada", retirando informações em duplicidade, pois muitos comandos alinhados as vezes invocam os "mesmos parâmetros", então tornam-se desnecessários. O @Conrado, é mais técnico, trabalha criando a rotina, para quem sabe é prático.

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2018-10-29 16:01:14 +0200 )editar

@Francys, foi como eu falei, a minha foi mais para um aprendizado. Como aprendi algo novo com essa planilha do @Gilberto Schiavinatto. não sabia que dava para colocar menu puxando as macros =)

imagem do gravatar de ConradoConrado ( 2018-10-29 17:38:37 +0200 )editar
1

@Conrado e @Francys, da para Personalizar Menu e Barras de ferramentas, vide os dois artigos que foi publicado na LibreOffice Magazine 20 e 21.

Menu => https://www.schiavinatto.com/mundolib...

Barra de ferramenta => https://www.schiavinatto.com/mundolib...

Se quiserem baixar as Revistas completas, estão aqui: https://pt-br.libreoffice.org/projeto...

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2018-10-29 20:46:10 +0200 )editar
1

respondidas 2018-10-25 17:10:19 +0200

updated 2018-10-28 00:33:24 +0200

Ola @Francys, segue um exemplo:

Na coluna T após digitar o status ( FEITO. AGUARDAR, Etc ), estando na linha digitada, acione a macro no menu [ MACROS ].

Arquivo teste.

Pode ser melhorada.....


Complemento: Vide OBS. no arquivo. O acionamento das Macros estão no menu [ MOVER ].

Seu Arquivo automatizado.


Complemento 2: Vide OBS. no arquivo.

Arquivo atualizado 2.

Arquivo corrigido com o menu [ MOVER ]


Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha Descrição da imagem a esquerda da resposta, para finalizar a pergunta.

editar assinalar como ofensivo Excluir Link mais

Comentários

Muito obridado por responderem minha questão. A ideia da planilha que vc postou acima vem de acordo com o que estou tentado fazer. Porém, as linhas estao sendo coladas na mesma planilha e nao consegui adaptar o código (leiguisse pura aqui) para transferir as linhas para as demais panilhas. Vou colar o link de uma planilha que simula a que estou trabalhando.

https://drive.google.com/file/d/19sqh...

imagem do gravatar de FrancysFrancys ( 2018-10-25 20:13:31 +0200 )editar

O modelo foi só um exemplo. O que quer é cada Status, vá para uma planilha. Por exemplo FEITO vai para a Planilha2. AGUARDAR vai para a Planilha3, etc.

É isso, se SIM quais os outros Status, e quais Planilha devem ir (nomes) ?

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2018-10-25 20:27:18 +0200 )editar

Gilberto. Eu subi o modelo da planilha. O que preciso é justamente isso que vc falou. No modelo eu coloquei exatamente como gostaria que ficasse.

A planilha principal vai alimentar seis outras planilhas. eu coloquei dentro de cada planilha qual alimenta qual. Se ficar confuso eu explico aqui em comentário. Se vc puder me ajuda nisso ficarei muito grato.

imagem do gravatar de FrancysFrancys ( 2018-10-25 20:38:59 +0200 )editar

@Francys, qual a condição para ir para as planilhas? ACO_FAN DES_PRINCIPAL PRE_CAD Equipe1 Equipe2 Equipe3

No seu arquivo tem apenas os nomes das planilhas que serão preenchidas em cascata, mas não as condições para verificar em qual planilha será colada as informações. Em relação a "linha ser apagada". Seria para deletar a linha ou limpar as informações? E como vc quer que seja disparada essa macro? Após digitar a condição?

imagem do gravatar de ConradoConrado ( 2018-10-25 21:05:21 +0200 )editar

@Francys, veja complemento na resposta acima.

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2018-10-25 23:54:41 +0200 )editar

@Conrado, quero o seguinte: 1. Se na 1ª planfor selecionado "ACO_FRAN" linha vai p/ a 2ª Planilha "ESPERA" vai p/ 3ª "DESLIGAR" vai p/ 4ª "EQUIPE1" vai p/ 5ª "EQUIPE2" vai p/ 6ª "EQUIPE3" vai p/ 7ª 2. 2ª planilha : "ESPERA" vai p/ 3ª "DESLIGAR" vai p/ 4ª "EQUIPE1" vai p/ 5ª "EQUIPE2" vai p/ 6ª "EQUIPE3" vai p/ 7ª 3. "DESLIGAR" na 5ª plan linha vai p/ Arquivado1 "DESLIGAR" na 6ª plan linha vai p/ Arquivado2 "DESLIGAR" na 7ª plan linha vai p/ Arquivado3

Espero ter conseguido explicar

imagem do gravatar de FrancysFrancys ( 2018-10-26 00:07:22 +0200 )editar

@Gilberto, esse é o caminho. Estaria certinho se não fosse alguns detalhes. Os dados nas planilhas são expostos em bloco. por exemplo, a Empresa1 pode ter vários funcionários. e quando ou uso a macro para mover apenas move uma linha por vez, e as demais linhas sobem. o que pode acontecer é que, por um momento de desatenção, algum funcionário fique na empresa errada quando a linha for apagada. Tenho uma macro vba que consegui a alguns dias, mas incompativel com o calc. gostaria de ver?

imagem do gravatar de FrancysFrancys ( 2018-10-26 00:39:25 +0200 )editar

Ok, a pergunta inicial era mover linha, vou rever as macros. Poste a macro VBA, talvez seja útil.

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2018-10-26 01:06:44 +0200 )editar

Sub Cheezy() 'Updated by Kutools for Excel 2017/8/28 Dim xRg As Range Dim xCell As Range Dim I As Long Dim J As Long Dim K As Long I = Worksheets("AI_LIGIA").UsedRange.Rows.Count J = Worksheets("DESL_AI").UsedRange.Rows.Count If J = 1 Then If Application.WorksheetFunction.CountA(Worksheets("DESL_AI").UsedRange) = 0 Then J = 0 End If Set xRg = Worksheets("AI_LIGIA").Range("U1:U" & I) On Error Re

imagem do gravatar de FrancysFrancys ( 2018-10-26 01:15:59 +0200 )editar

Esta é a vba que eu falei. Acho que não tenha me expressado direito. Gostaria de mover linha, mas com a possibilidade de mover mais de uma de uma vez só. E a linhas podem estar em qualquer posição dentro de A1:T5000. Consegui passar minha ideia claramente?

imagem do gravatar de FrancysFrancys ( 2018-10-26 01:17:34 +0200 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2018-10-25 00:23:28 +0200

Lidas: 179 vezes

Última atualização: Oct 29 '18