Jump to content

Agilizar trabalho com matrizes no Excel


Recommended Posts

6 horas atrás, Kakashi disse:

Muito obrigado. Deu tudo certo! Era cansativo o método de Localizar e Substituir.

 

25 minutos atrás, Edhunter disse:

Muito boa essa ferramenta. Montar matrizes era algo trabalhoso e cansativo. Agora está bem mais simples.

Grato pela contribuição @pedrosaavas.

 

Olá, @Kakashi e @Edhunter

 

Obrigado!

 

Abraço.

 

  • Like 1
Link to comment
Share on other sites

  • 5 months later...

olá pedrosaavas vc colocou uma semente aqui, que se deu uma arvore na qual foi crescendo, e frutos foram surgindo dela e pessoas aqui colhendo, foi bacana de sua parte, isso faz com que fórum cresça com mais confiabilidade, para que aquele que são leigo na matéria (loterias) produza com o sei feito, e ainda tudo de graça sem muitos videos picaretas que mal explica, e logo vem pedindo pra visitar o site ou blog onde vc entra la vem vendendo o protudo, e partes sai daqui creio eu, por isso quero agradeçer vc pelo trabalho.

 

(Obs: serve para todas loterias, eu acho) kkkkkkkkk

 

BY KAZU

Edited by Kazu&LotoMania
  • Thanks 1
Link to comment
Share on other sites

  • 2 years later...
  • 2 months later...

@bressam Já conseguiu? se ainda não vou tentar ajudar ok?

Meu perfil de membro não permite colocar figuras então vou de textão ok.

A macro descrita neste tópico facilita na criação das formulas ,não sendo necessário fazer de uma a uma

Pode ser usada em qualquer tamanho de matriz.

Vou basear a explicação em 10 numeros numa matriz de 5 numeros por linha com 5 linhas, mas pode usar em qualquer tamanho ex 25 numeros,15 numeros por linha,100 linhas

Na sua planilha terá que ter uma linha com os números que vc quer desmembrar ( ex  da celula A1 ate J1, 10 números de 1 a 10 em sequencia, observe os números da sua matriz se vão de 1 a 10,nessa linha coloque de 1 a 10 )

Abaixo insira a sua matriz (ex coloque ela em A2 ate E6, matriz de 5 linhas por 5 números por linha)

Tecle  Alt + F11 simultaneamente, abrirá o editor vba

Entre os símbolos do Excel e o Salvar(abaixo da palavra Arquivo) possui um icone para inserir Userform, não clique diretamente nele, apenas abra pela seta ,abrira um menu ,ai escolha " Modulo"

Veja que se olhar mais abaixo dentro da janela projeto Vba, foi inserido o Modulo 1 dentro de Modulos

Dê duplo clique com o mouse em Modulo 1,copie a macro e cole dentro dele

Volte ao excel normal( está aberto , mas pode tb clicar no icone do excel do menu)

Tecle Alt + F8 e execute a macro Matriz

Selecione o intervalo dos 10 números com o mouse,clique em ok

Selecione o intervalo da matriz como mouse,clique em ok e pronto pode alterar os 10 numeros que eles automaticamente alterarão na matriz pois fora criadas as formulas

 

A planilha deve ser salva habilitada para macro.

Espero ter ajudado

Link to comment
Share on other sites

@bressam Que ótimo que vc quer aprender e entendo que na sua primeira vista parece um monstro esse tal de vba, mas tente ir se acostumando aos poucos, abra um Excel vazio e tecle simultaneamente Alt + F11(para abrir o vba). Busque nas suas pesquisas o que faz cada botão ou menu para ir se familiarizando com a ferramenta. Hoje em dia tem tutorial pra quase tudo no youtube ou google.

Qualquer duvida que for surgindo, abra um tópico especifico(temos vários feras em vba aqui) ou se preferir pode me enviar MP que dentro do possível tento lhe ajudar.

 

Boa sorte na sua busca por conhecimento, e que esse conhecimento lhe renda milhões!

  • Like 1
Link to comment
Share on other sites

  • 10 months later...
Em 21/03/2017 em 14:06, pedrosaavas disse:

Boa tarde,

 

Todos sabemos como é chato trabalhar com matrizes no Excel utilizando o substituir ou criando célula por célula... com o intuito de agilizar esse processo criei uma solução em VBA.

 

Como adicionar ao seu projeto:

1º copie o código abaixo

 


Option Explicit
Sub Matriz()
'Objetivo: Criar referências às matrizes automaticamente.
'Autor: U.L.M.S (@PedroSaavas)
'Email: pedrosaavas@gmail.com
'Mantenha a atribuição ao autor como forma de respeito à propriedade intelectual.
'Favor não usar essa macro para obter vantagem financeira.

Dim ws As Worksheet
Dim Mtz As Range, Mcel As Range, Rng As Range, cel As Range, Fmt As Range
Dim Titulo As String
On Error Resume Next
Application.DisplayAlerts = False

Set ws = ActiveSheet
Titulo = "Formatação de Matrizes - By @PedroSaavas"

'Seleciona os números da matriz
Set Mtz = ws.Application.InputBox("Selecione os Números da Matriz", Titulo, Type:=8)
If Mtz.Cells.Count < 1 Then Exit Sub

'Seleciona as linhas da Matriz
Set Rng = ws.Application.InputBox("Selecione as Linhas da Matriz", Titulo, Type:=8)
If Mtz.Cells.Count < 1 Then Exit Sub

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

   'Aplica referências nas células das linhas da matriz
   For Each cel In Rng
    For Each Mcel In Mtz
      If Not IsEmpty(cel) And cel = Mcel Then
         cel = "=" & Mcel.Address
      End If
     Next Mcel
   Next cel
   
   'Aplica formatação nas linhas
   For Each Fmt In Rng
         Fmt.NumberFormat = "00"
         Fmt.Errors(xlInconsistentFormula).Ignore = True
   Next Fmt
MsgBox "Processo Finalizado. " & Rng.Rows.Count & " Linhas Formatadas." & vbNewLine & vbNewLine & "Substitua os NÚMEROS DA MATRIZ por dezenas de sua escolha.", vbInformation, Titulo

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

On Error GoTo 0
Application.DisplayAlerts = True
ActiveCell.Select
End Sub


2º No Excel, digite Alt+F11 para abrir o VBA


3º clique em Inserir >> Módulo


4º cole o código no módulo


5º adicione um botão ou imagem


6º clique sobre o botão ou imagem com o botão direito do mouse e  >>  atribuir a macro “Matriz”

 

7º salvar planilha no "xlsm" (Pasta de trabalho habilitada para Macros)

 

Segue planilha de exemplo:

https://mega.nz/#!258jxaCY!86yHMyDqSdgOcUOSlavee-nWvENMD75pPwYyVx-wUIs

 

Obs.: clique em baixar atráves do navegador

 

Abraços.

 

@pedrosaavas

 

Como usar a planilha de exemplo:

 

http://oi67.tinypic.com/2di21a8.jpg

 

http://oi65.tinypic.com/14k9ueh.jpg

 

http://oi65.tinypic.com/106aczd.jpg

 

http://oi67.tinypic.com/2zxqtk5.jpg

 

http://oi65.tinypic.com/15x95l0.jpg

 

http://oi64.tinypic.com/4uxc3q.jpg

 

 

 

 

Parabéns avas....como sempre  vc surpreende. É  de grande ajuda, se eu ganhar kkkkk  não te esquecerei 

Link to comment
Share on other sites

  • 1 year later...
Em 21/03/2017 em 14:06, pedrosaavas disse:

Boa tarde,

 

Todos sabemos como é chato trabalhar com matrizes no Excel utilizando o substituir ou criando célula por célula... com o intuito de agilizar esse processo criei uma solução em VBA.

 

Como adicionar ao seu projeto:

1º copie o código abaixo

 

Option Explicit
Sub Matriz()
'Objetivo: Criar referências às matrizes automaticamente.
'Autor: U.L.M.S (@PedroSaavas)
'Email: pedrosaavas@gmail.com
'Mantenha a atribuição ao autor como forma de respeito à propriedade intelectual.
'Favor não usar essa macro para obter vantagem financeira.

Dim ws As Worksheet
Dim Mtz As Range, Mcel As Range, Rng As Range, cel As Range, Fmt As Range
Dim Titulo As String
On Error Resume Next
Application.DisplayAlerts = False

Set ws = ActiveSheet
Titulo = "Formatação de Matrizes - By @PedroSaavas"

'Seleciona os números da matriz
Set Mtz = ws.Application.InputBox("Selecione os Números da Matriz", Titulo, Type:=8)
If Mtz.Cells.Count < 1 Then Exit Sub

'Seleciona as linhas da Matriz
Set Rng = ws.Application.InputBox("Selecione as Linhas da Matriz", Titulo, Type:=8)
If Mtz.Cells.Count < 1 Then Exit Sub

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

   'Aplica referências nas células das linhas da matriz
   For Each cel In Rng
    For Each Mcel In Mtz
      If Not IsEmpty(cel) And cel = Mcel Then
         cel = "=" & Mcel.Address
      End If
     Next Mcel
   Next cel
   
   'Aplica formatação nas linhas
   For Each Fmt In Rng
         Fmt.NumberFormat = "00"
         Fmt.Errors(xlInconsistentFormula).Ignore = True
   Next Fmt
MsgBox "Processo Finalizado. " & Rng.Rows.Count & " Linhas Formatadas." & vbNewLine & vbNewLine & "Substitua os NÚMEROS DA MATRIZ por dezenas de sua escolha.", vbInformation, Titulo

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

On Error GoTo 0
Application.DisplayAlerts = True
ActiveCell.Select
End Sub

 

 

Video de como utilizar a macro criada pelo Pedro

 

 

  • Like 4
Link to comment
Share on other sites

3 horas atrás, RobSmith disse:

 

Video de como utilizar a macro criada pelo Pedro

 

 

 

Ainda bem que salvaram esse vídeo.

Eu tinha apagado todo meu canal e só tinha esse vídeo no meu pc antigo que deu pau e eu não conseguia mais ligar...(agora já resolvi... mas não sei mais onde salvei...rs...).

Valeu.

😎

...

Link to comment
Share on other sites

  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...