Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
292to296
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

schleife

schleife
10.08.2003 13:45:33
karli
guten tag
da ich mir vorgenommen habe vba zu lernen,
möchte ich gerne meine erste schleife programmieren.
kann mir jemand ein einfaches schleifenbeispiel zeigen
und dazuschreiben wie man eine schleife beginnt und
wie man sie beendet?und worauf es ankommt??
das ich dann eine eigene test schleife erstelle kann,die ich verstehe!
oder einen hinnweis geben wo ich sowas im netz lernen kann?
schönen sonntag noch
karli

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: schleife
10.08.2003 13:52:31
Hajo_Zi
Hallo Karli
schaue doch mal in die Hilfe unter Do Loop und For Next
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

Anzeige
AW: schleife
10.08.2003 14:07:53
karli
guten tag
danke für den tip
da steh ich schon an .
dieses beispiel habe ich aus microsft hilfe!
aber es kommt ein fehler
irgenwas mit varible????aber so steht es in der hilfe
habe es 1:1 in mein modul1 kopiert
Option Explicit

Sub PrüfWhileVor()
Zähler = 0
meineZahl = 20
Do While meineZahl > 10
meineZahl = meineZahl - 1
Zähler = Zähler + 1
Loop
MsgBox "Die Schleife wurde " & Zähler & " mal durchlaufen."
End Sub

karli

AW: schleife
10.08.2003 14:10:50
Hajo_Zi
Hallo Karli
steht in Deinem Modul Option Explicit dies erfordert eine Variablendefinition.
dann ergänze
Dim Zähler as yte
Dim meineZahl as Byte
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

Anzeige
AW: schleife
10.08.2003 14:15:49
karli
GUTEN TAG NOCHMAL
also ich habe es jetzt so drinnen!

Sub PrüfWhileVor()
Dim Zähler As yte
Dim meineZahl As Byte
Zähler = 0
meineZahl = 20
Do While meineZahl > 10
meineZahl = meineZahl - 1
Zähler = Zähler + 1
Loop
MsgBox "Die Schleife wurde " & Zähler & " mal durchlaufen."
End Sub

aber es geht nicht!
DANKE

AW: schleife
10.08.2003 14:18:45
Hajo_Zi
Hallo Karli
ich hatte ein B vergessen

Sub PrüfWhileVor()
Dim Zähler As Byte
Dim meineZahl As Byte
Zähler = 0
meineZahl = 20
Do While meineZahl > 10
meineZahl = meineZahl - 1
Zähler = Zähler + 1
Loop
MsgBox "Die Schleife wurde " & Zähler & " mal durchlaufen."
End Sub

Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

Anzeige
AW: schleife
10.08.2003 14:23:04
karli
danke
aber es kommt wieder ein fehler!
SCHLEIFE WURDE DURCHLAUFEN!!!
ich werde das nie kapieren!
karli

AW: schleife
10.08.2003 14:26:41
Hajo_Zi
Hallo Karli
das ist doch kein Fehler. Dies ist doch nur die Meldung das die Schleife am Ende ist.
Noch ein Beispiel für For Next

Sub OhneSelect()
Dim LoI As Long
For LoI = 1 To 65536
Cells(LoI, 2).Value = 1
Next LoI
End Sub

Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

Anzeige
AW: schleife
10.08.2003 14:41:29
karli
danke hajo
dein beispiel hat gleich funktioniert! spalte b in b1 bis runter!
das ist schon mal ein ansatz!
aber das microsoft verstehe ich nicht was das soll mit dem durchlauf !
ich habe dein beispiel ausgebaut:
vieleicht kanst du es mal brauchen

Sub OhneSelect()
Dim LoI As Long
For LoI = 1 To 5
Cells(LoI, 2).Value = 1
Cells(LoI, 3).Value = 2
Cells(LoI, 4).Value = 3
Next LoI
End Sub

vielen,vielen dank hajo und den anderen!

AW: schleife
10.08.2003 14:50:07
Hajo_Zi
Hallo Karli
jede Schleife ist für einen besonderen Einsatz.

Deine Do Loop Schleife ist ein Kopfgesteuerte Schleife. Die Schleife wird solange durchlaufen bis die Kopfbedingung erfüllt ist ist Die Kopfbedingung gleich beim Start erfüllt wird die Schleife nicht durchlaufen. Bei einer Fußgesteuerten Schleife wird die Schleife min. 1xdurchlaufen.
Solche Schleifen setzt man z.B. ein um Eine Zahl in eine Dualzahl umzuwandeln.
Eine Zahl wird in eine Dual umgewandelt indem sie durch 2 dividiert wird der Rest ist der erste Teil der Dualzahl und das Ergebnis wird wieder durch 2 geteilt und dies geschieht so oft bis das Ergebnis Null ist.
Mal in groben Zügen den Einsatz einer solcher Schleife beschrieben.
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

Anzeige
AW: schleife
10.08.2003 14:55:58
karli
vielen dank hajo
ich werde das ein bisschen üben!
hoffe du bist wieder da wenn ich eine neue frage habe!!
karli

Danke für die Rückmeldung oT
10.08.2003 14:56:31
Hajo_Zi
AW: schleife
11.08.2003 07:48:25
Hajo_Zi
Hallo Karli
hier noch einige Beispiele für den Einsatz von Schleifen.
Option Explicit

Function Dual(LoDezimal As Long) As String
'   Umwandlung in Dualzahl
'   in Zelle =Dual(A1)
If IsNumeric(LoDezimal) Then
Dim LoZahl As Long
Do While LoDezimal > 0
Dual = LoDezimal Mod 2 & Dual
LoDezimal = LoDezimal \ 2
Loop
If Dual = "" Then Dual = ""
End If
End Function


Function Hexa(LoDezimal As Long) As String
'   Umwandlung in Hexadezimalzahl
'   in Zelle =Hexa(A1)
If IsNumeric(LoDezimal) Then
Dim LoZahl As Long
Dim ByRest As Byte
Dim StZeichen As String
Do While LoDezimal > 0
ByRest = LoDezimal Mod 16
If ByRest > 9 Then
StZeichen = Chr(65 + ByRest - 10) '65 entspr. A
Else
StZeichen = ByRest
End If
Hexa = StZeichen & Hexa
LoDezimal = LoDezimal \ 16
Loop
End If
End Function


Function Dezimal_Dual(StEingabe As String) As Long
'   Umwandlung in Dualzahl in normal Zahl
'   in Zelle =Dezimal_Dual(A1)
Dim LoI As Long
Dim ByZeichen As Byte
For LoI = 0 To Len(StEingabe) - 1
ByZeichen = Mid(StEingabe, Len(StEingabe) - LoI, 1)
Dezimal_Dual = Dezimal_Dual + 2 ^ LoI * ByZeichen
Next LoI
End Function

Gruß Hajo

Anzeige
AW: schleife
11.08.2003 08:10:01
Hajo_Zi
Hallo Karli
eine Zeile war falsch
If Dual = "" Then Dual = "0"
Gruß hajo

AW: schleife
10.08.2003 13:56:56
Jochen
Schau mal in die Hilfe unter "Visual Basic Konzepte"
Verwenden von Do...Loop-Anweisungen
Verwenden von For Each...Next-Anweisungen
Verwenden von For...Next-Anweisungen
Optimieren von For...Next-Schleifen
Gruß Jochen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige