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.
Jedno z:
- Czytasz byle kurs po kilku godzinach bez problemów rozwiązujesz zadanie
- Zgłaszasz zlecenie w dziale ogłoszenia drobne
- Zmieniasz kierunek studiów
Pokaż co napisałaś i wyjaśnij, z czym masz problem.
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
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.
Zacznijmy od tego, że Randomize
przed pętlę.
W twoim kodzie losuje się 6 razy. Zacznijmy więc od tego, by 6 zamienić na jakąś zmienną:
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?
ileLosowan = Cells(1, 2).Value