excel - vytvoreni marka
Napsal: 18 kvě 2009 20:49
od lucinka17
ahojky, potrebovala bych pomoct s ukolem do vypocetky. mam udelat makro ktere mi vypise do sloupecku urcity pocet prvocisel. kdyby se nasel nekdo kdo by mi to udelal a treba mi i to makro popsal co se kde dje byla bych vam vdecna!!!
predem dekuju!
Lucik
Re: excel - vytvoreni marka
Napsal: 18 kvě 2009 21:51
od navstevnik
Jak zjistit, ze cislo je prvocislo napr. viz
http://officir.ic.cz/chipex04/10/excel_cisla.html (na Googlu lze nalezt i dalsi algoritmy):
Kód: Vybrat vše
Option Explicit
'http://officir.ic.cz/chipex04/10/excel_cisla.html
Function PRVOCISLO(Cislo As Long) As Boolean
Dim x As Long
Application.Volatile
Cislo = Abs(Cislo)
Select Case Cislo
Case 0, 1, 4, 6, 8
PRVOCISLO = False
Case 2, 3, 5, 7
PRVOCISLO = True
Case Is > 8
If Cislo Mod 2 = 0 Then
PRVOCISLO = False
Exit Function
Else
For x = 3 To Sqr(Cislo) Step 2
If Cislo Mod x = 0 Then
PRVOCISLO = False
Exit Function
Else
PRVOCISLO = True
End If
Next x
End If
End Select
End Function
Vygenerovat sadu prvocisel a zobrazit je ve sloucpi by nemel byt take problem:
Kód: Vybrat vše
Sub VlozPrvocislo()
' do sloupce A:A je vygenerovana sada prvocisel, pocet je v promenne PocetPrvCis
Dim i As Long
Dim TargetCll As Range, Ofs As Long, PocetPrvCis As Long
PocetPrvCis = 200
Set TargetCll = Worksheets("list1").Range("a1")
Ofs = 0: i = 0
Do
If PRVOCISLO(i) Then
TargetCll.Offset(Ofs, 0).Value = i
Ofs = Ofs + 1
End If
i = i + 1
Loop While Ofs < PocetPrvCis
End Sub