Avatar billede folj Forsker
23. marts 2017 - 10:03 Der er 2 kommentarer og
1 løsning

Excel-vba gennemløbe array

Jeg laver en VBA-procedure, der skal løbe en liste med warnings igennem, og jeg skal ende med at tælle hvor mange gange den samme fase er nævnt.
Jeg trækker  5000 celler fra samme kolonne  over i et array, og  gennemløber  arrayet...

Min foreløbige kode kommer herunder, men den fejler på første linje i min for-løkke, og siger "Object required" til linjen  [k]SourcePhase = SourceArray(x, 1).Value.[/k]
Sub TestWarnings_vs_Phase()

Dim SourceArray As Variant
Dim SourceRng As String, SourcePhase As String, ComperePhase As String

' definerer adressen på det range jeg vil hente ind i mit SourceArray, 5000 rækker i samme kolonne
SourceRng = Range(Cells(StartRow, PhaseColumn), Cells(StartRow + 5000, PhaseColumn)).Address

'henter data ind i mit SourceArray
SourceArray = Range(SourceRng)

' resetter tællere fra starten
xCounter = 0
yCounter = 0

For x = StartRow To StartRow + 5000
  SourcePhase = SourceArray(x, 1).Value ' den aktuelle celleværdi
  ComperePhase = SourceArray(x + 1, 1).Value ' den næste celleværdi
 
  If SourcePhase = ComperePhase Then ' sammenligner aktuelle celleværdi med den næste celleværdi for at teste om det er her fasen skifter
    xCounter = xCounter + 1
  Else ' hvis fase skifter
    Subtotal = xCounter
    yCounter = yCounter + 1

  End If
Next x

End Sub
Hvad  er det nu der er galt?
Avatar billede supertekst Ekspert
23. marts 2017 - 11:38 #1
Prøv at slette .Value i de 2 linjer
Avatar billede folj Forsker
23. marts 2017 - 11:59 #2
yes, det var løsningen supertekst.
takker...
Avatar billede supertekst Ekspert
23. marts 2017 - 13:16 #3
Selv tak ..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester