Primzahlen / Excel 2003

15/11/2008 - 22:53 von Andreas Volkert | Report spam
Hallo liebe Newsgroup-Freunde,

darf ich Euch um Hilfe für folgende (schulische) Fragestellung (meiner
Tochter, 5. Klasse) bitten.

Wir wollen in einer Excel Tabelle sàmtliche Primzahlen automatisiert
eintragen lassen. Ich habe dazu auch schon ein wenig gegoogelt und bin auf
folgende benutzerdefinierte Funktion gestoßen.

Function IstPrim(x) As Boolean
IstPrim = True
If x Mod 2 = 0 Then
IstPrim = False
Else
For i = 3 To Sqr(x) Step 2
If x Mod i = 0 Then
IstPrim = False
Exit Function
End If
Next
End If
End Function

Das klappt natürlich ganz wunderbar, setzt aber voraus, dass ich eine
fortlaufende Reihe mit Zahlen (sagen wir in Spalte A) habe.

Nun möchte ich das Ganze aber über VBA über eine Schleife abarbeiten und gar
nicht erst die NICHTPrimzahlen anzeigen, sondern nur die Primzahlen
untereinander stellen, also etwa so

Suche die erste Primzahl, stelle sie in die Zelle A1, dann eine Zelle
tiefer, suche die nàchste Primzahl, erneut in die Zelle (dann eben A2)
schreiben usw. usw.

1
3
5
7
11
13
...
...

Außerdem wàr's schön, wenn die Funktion am Tabellenende (ich hab keine
Ahnung, wie lange es mit dieser Funktion dauert, bis die Tabelle bis zur
Zeile 65536 ausgefüllt ist) in der Spalte B, besser gesagt in der Zelle B1
weitermachen würde, um dann die nàchste Spalte (also B) auzufüllen (usw...)

Es wàre ganz toll, wenn mir hier jemand mit ein wenig Programmcode unter die
Arme greifen könnte.

Ich bedanke mich schon mal ganz herzlich für alle Vorschlàge und Hilfen.

Viele Grüße

AndiVolkert
 

Lesen sie die antworten

#1 Claus Busch
15/11/2008 - 23:34 | Warnen spam
Hallo Andreas,

Am Sat, 15 Nov 2008 22:53:22 +0100 schrieb Andreas Volkert:

Nun möchte ich das Ganze aber über VBA über eine Schleife abarbeiten und gar
nicht erst die NICHTPrimzahlen anzeigen, sondern nur die Primzahlen
untereinander stellen, also etwa so

Suche die erste Primzahl, stelle sie in die Zelle A1, dann eine Zelle
tiefer, suche die nàchste Primzahl, erneut in die Zelle (dann eben A2)
schreiben usw. usw.

1
3
5
7
11
13
...
...

Außerdem wàr's schön, wenn die Funktion am Tabellenende (ich hab keine
Ahnung, wie lange es mit dieser Funktion dauert, bis die Tabelle bis zur
Zeile 65536 ausgefüllt ist) in der Spalte B, besser gesagt in der Zelle B1
weitermachen würde, um dann die nàchste Spalte (also B) auzufüllen (usw...)



schau dazu mal hier rein:
http://groups.google.de/group/micro...61f068362d


Mit freundlichen Grüssen
Claus Busch
Win XP Prof SP3 / Vista Ultimate
Office 2003 SP3 / 2007 Ultimate SP1

Ähnliche fragen