Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Utilize essa sessão para indicar livros e materiais relacionados ao Excel
  • Avatar do usuário
Avatar do usuário
Por Parkeless
Posts Avatar
#5689
Olá pessoal, bom dia,

Gostaria de saber se poderiam me indicar um material de estudo para a utilização de Arrays em análise de dados.

Atualmente utilizo For each cell in Range("x") seguido por Ifs e Loops, mas fui informado por um usuário que Arrays são mais eficazes para isso.

Obs.: Fiquei na dúvida se criei o tópico no local certo... moderadores, caso necessário, por favor movê-lo para Macros/VBA.
Por Edcronos
Posts
#5691
eu não sei sobre material, oq eu aprendi foi na base do sofrimento mesmo
o problema do for each é que não se tem controle sobre ele
fazer loop em planilha é que se a planilha estiver cheia de formulas e outras coisas o processo vai ser moroso
mas se a planilha for uma reservada para isso , sem formulas formatações e outras coisa torna o processo muito mais rapido
antes de aprender a usar arrays eu usava uma aba auxiliar para processos grande
copiava os dados para essa aba auxiliar trabalhava os dados e mandava os dados de volta
com os array agora é
Array=range
loop no array
range = Array
o loop no array é no mesmo molde de um em range mas por celula

array1=range("a1:cx100").value2
for L=1 to 102
for C=1 to 102
Array1(L,C)=n
'Cells(L,C).value2=n
next
next
range("a1:cx100").value2=array1
um array nesse caso é como uma range, só que vc tem que atualizar os dados no final

o fato de arrays serem mais rapidas é que o vba vai trabalhar diretamente com a memoria sem pedir acesso ao excel e nem fazer transações a não ser para pegar e passar os dados de volta
Por Edcronos
Posts
#5692
uma macro que faz uso de 4 arrays
resutados(), jogos(), rsu(), totalp()
vc pode ver ela em funcionamento aqui
http://gurudoexcel.com/forum/viewtopic.php?f=26&t=1008
Código: Selecionar todos
Sub totais()

    Application.Calculation = xlCalculationManual
    Application.ScreenUpdating = False
    Dim resutados(), jogos(), rsu(), totalp(), a As Long, li As Long, lf As Long
    Dim tot()
    li = 6
    lote = Array("Resultado mega", "Resultado quina", "Resultado time", "Resultado dupla", "Resultado lotofacil")
    With Sheets(lote(Cells(1, 36).Value2 - 1))
        resultados = .Range("c" & li, .Cells(.Cells(Rows.Count, 3).End(xlUp).Row + 1, .Cells(4, 1).Value2 + 2)).Value2
        
    End With
    lf = ULinhaRangeEdcronos("C", "R")
    jogos = Range("c" & li, Cells(lf, "r")).Value2
    c1 = UBound(jogos, 2)
     lt1 = UBound(jogos, 1)
    c3 = UBound(resultados, 2)
    lt = UBound(resultados, 1)
    ReDim rsu(1 To lt, 1 To 1)
    ReDim totalp(1 To lt1, 1 To c3)
    For l1 = 1 To lt1
        For l2 = 1 To lt
            a = 0
            For C = 1 To c1
                If jogos(l1, C) <> "" Then
                    For C2 = 1 To c3
                        If jogos(l1, C) = resultados(l2, C2) Then a = a + 1: Exit For
                    Next
                End If
                rsu(l2, 1) = a
            Next
        Next
        For L = 1 To lt
            a = rsu(L, 1)
            If a > 0 Then totalp(l1, a) = totalp(l1, a) + 1
        Next
    Next
    Range("v" & li, "aj" & lf).ClearContents
    Range("v" & li, Cells(lf, c3 + 21)).Value2 = totalp

    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
End Sub

Avatar do usuário
Por Parkeless
Posts Avatar
#5693
Hmmm interessante!

E ainda ao invés de um link na internet, consigo uma explicação personalizada... kkk aí sim

Edcronos, muito obrigado cara. Já vou tentar bolar alguma coisa aqui.

Obs.: Não marquei o tópico como resolvido pois o botão não está aparecendo... acredito que para Indicações de Livros/Materiais essa opção não seja habilitada.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord