VBA Excel Lotto

  • Rejestracja: dni
  • Ostatnio: dni
0

Potrzebuję pomocy, mianowicie mam za zadanie do zrobienia w excelu symulator lotto. Niestety, nie miałam dotychczas styczności z VBA i nic mi z tego nie wychodzi. Powinnam zrobić arkusz w którym : Będzie losowane 6 liczb(tych typowanych) z zakresu <1;49>. Następnie chcemy przeprowadzić symulację losowań lotto w liczbie takiej jaką wprowadzimy, tak żeby liczby były posortowane i w kazdym losowaniu bez powtórzeń. Następnie chcemy aby odbyło się sprawdzanie ile w każdym z losowań jest trafień, ile było jakich trafień i jaka by była z tego wygrana. Bardzo proszę o pomoc, bez znajomości VBA zatrzymałam się na losowaniu 6 liczb i nic więcej.

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

Jedno z:

  1. Czytasz byle kurs po kilku godzinach bez problemów rozwiązujesz zadanie
  2. Zgłaszasz zlecenie w dziale ogłoszenia drobne
  3. Zmieniasz kierunek studiów
aurel
  • Rejestracja: dni
  • Ostatnio: dni
0

Pokaż co napisałaś i wyjaśnij, z czym masz problem.

  • Rejestracja: dni
  • Ostatnio: dni
0
aurel napisał(a):

Pokaż co napisałaś i wyjaśnij, z czym masz problem.

Zasadniczo mam problem z całym zadaniem, gdyż nie znając języka nie jestem w stanie zrobić projektu nawet w 2 tygodnie. A największy problem mam z wykonaniem fragmentu, który losowałby 6 liczb z zakresu <1;49> tyle razy ile wpisze użytkownik

Kopiuj
Sub totolotek()
    Dim i As Integer
    Dim x As Integer

    For i=1 To 6
        Randomize
        x = Int(Rnd*(49)+1)
        Range("A" & i)=x
    Next i 
End Sub

Tyle napisałam sama, niestety nie jestem w stanie napisać więcej wiedząc jedynie jak działają określone pętle, a niestety przebrnięcie przez kursy VBA niewiele mi pomogło.

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

Zacznijmy od tego, że Randomize przed pętlę.

aurel
  • Rejestracja: dni
  • Ostatnio: dni
0

W twoim kodzie losuje się 6 razy. Zacznijmy więc od tego, by 6 zamienić na jakąś zmienną:

Kopiuj
Sub totolotek()
    Dim i As Integer
    Dim x As Integer
    Dim ileLosowan As Integer

    ileLosowan = 666

    Randomize
    For i=1 To ileLosowan
        x = Int(Rnd*(49)+1)
        Range("A" & i)=x
    Next i 
End Sub

(przy okazji poprawka od @Azarien)
I teraz nam się będzie losowało 666 razy.
Teraz wystarczy jeszcze tylko wczytać dane podane przez użytkownika. Prawdopodobnie chcesz je pobrać z jakiejś komórki arkusza?

Kopiuj
ileLosowan = Cells(1, 2).Value

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.