Avatar billede jernrosen3 Forsker
31. oktober 2023 - 12:35 Der er 3 kommentarer og
1 løsning

VBA - hente et antal i arket

Jeg har en makro/VBA der ser således ud:

Public Sub HentNumre()
Dim NO As Integer
Dim AntalNos As Integer
  AntalNos = 83
    ' Trækker antal numre
Dim nos() As Integer
  ReDim nos(1 To AntalNos, 1 To 1) As Integer
Dim x As Integer
Dim InsR As Integer
Dim MaxNo As Integer
  MaxNo = 1000
    ' Trækker numre ud af max antal numre
  InsR = LBound(nos, 1)

  Do While True
    ' Trækker et tilfældigt nummer
    Randomize
    NO = Int(MaxNo * Rnd + 0.5)
    ' Hvis NO = 0
    If NO = 0 Then
      GoTo NextNumber
    End If
    For x = LBound(nos, 1) To InsR Step 1
      ' Tjekker for dubletter
      If InsR > 1 Then
        If NO = nos(x, 1) Then
          GoTo NextNumber
        End If
      End If
    Next x
 
    nos(InsR, 1) = NO
    InsR = InsR + 1
 
    ' Escape sekvens
    If InsR = UBound(nos, 1) + 1 Then
      Exit Do
    End If
NextNumber:
  Loop
  With Range(Cells(LBound(nos, 1), 1), Cells(UBound(nos, 1), 1))
    .Value = nos()
    .Sort Range("a1"), xlAscending, , , , , , xlNo
  End With
End Sub

Koden generer AntalNos = 83 i linie 4  'Antal præmier
Og
MaxNos = 1000 i linie 11  'Antal lodder

Spørgsmål: Kan jeg skrive i arket hvor mange præmier og lodder jeg ønsker?
F.eks B2=100  'Antal præmier
og B3=1100 'Antal lodder
så antallene ikke skal skrives i koden.

Jeg kan ikke gennemskue hvordan jeg får AntalNos =B2 og MaxNos =B3
Avatar billede claes57 Ekspert
31. oktober 2023 - 13:05 #1
prøv (utestet) at erstatte
AntalNos = 83
med
Range("B2").Select
AntaNos = .Value

og (bemærk No ikke Nos)
MaxNo = 1000
med
Range("B3").Select
MaxNo = .Value
Avatar billede jernrosen3 Forsker
31. oktober 2023 - 13:43 #2
Desværre .......

Makroen stopper ved .value og giver meddelelsen :

"invalid or unqualified refence"
Avatar billede store-morten Ekspert
31. oktober 2023 - 14:46 #3
Måske
AntalNos = Range("B2")
Avatar billede jernrosen3 Forsker
31. oktober 2023 - 16:08 #4
Takker til Store-Morten.

Det gjorde udslaget. Nu er det meget nemmere at udtrække antal lodder med gevinster *S*
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