Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1428to1432
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
Inhaltsverzeichnis

Eleganz mit Schleifen

Eleganz mit Schleifen
08.06.2015 22:19:02
Klaus
Hey Leute,
ich bin noch ziemlich am Anfang mit meinen VBA-Kenntnissen und versuche das Programmieren zu erlernen.
Hierzu eine banale Frage.
Für die Berechnung einer Matrix benötige ich habe folgende Formeln in VBA:
For i = 0 To 29
Cells(3 + i, 11) = Sqr((Cells(3 + i, 2) - Cells(2, 2)) ^ 2 + (Cells(3 + i, 3) - Cells(2, 3)) ^ 2)
Next i
For i = 0 To 28
Cells(4 + i, 12) = Sqr((Cells(4 + i, 2) - Cells(3, 2)) ^ 2 + (Cells(4 + i, 3) - Cells(3, 3)) ^ 2)
Next i
For i = 0 To 27
Cells(5 + i, 13) = Sqr((Cells(5 + i, 2) - Cells(4, 2)) ^ 2 + (Cells(5 + i, 3) - Cells(4, 3)) ^ 2)
Next i
For i = 0 To 26
Cells(6 + i, 14) = Sqr((Cells(6 + i, 2) - Cells(5, 2)) ^ 2 + (Cells(6 + i, 3) - Cells(5, 3)) ^ 2)
Next i
For i = 0 To 25
Cells(7 + i, 15) = Sqr((Cells(7 + i, 2) - Cells(6, 2)) ^ 2 + (Cells(7 + i, 3) - Cells(6, 3)) ^ 2)
Next i
For i = 0 To 24
Cells(8 + i, 16) = Sqr((Cells(8 + i, 2) - Cells(7, 2)) ^ 2 + (Cells(8 + i, 3) - Cells(7, 3)) ^ 2)
Next i
For i = 0 To 23
Cells(9 + i, 17) = Sqr((Cells(9 + i, 2) - Cells(8, 2)) ^ 2 + (Cells(9 + i, 3) - Cells(8, 3)) ^ 2)
Next i
For i = 0 To 22
Cells(10 + i, 18) = Sqr((Cells(10 + i, 2) - Cells(9, 2)) ^ 2 + (Cells(10 + i, 3) - Cells(9, 3)) ^ 2)
Next i
For i = 0 To 21
Cells(11 + i, 19) = Sqr((Cells(11 + i, 2) - Cells(10, 2)) ^ 2 + (Cells(11 + i, 3) - Cells(10, 3)) ^ 2)
Next i
For i = 0 To 20
Cells(12 + i, 20) = Sqr((Cells(12 + i, 2) - Cells(11, 2)) ^ 2 + (Cells(12 + i, 3) - Cells(11, 3)) ^ 2)
Next i
For i = 0 To 19
Cells(13 + i, 21) = Sqr((Cells(13 + i, 2) - Cells(12, 2)) ^ 2 + (Cells(13 + i, 3) - Cells(12, 3)) ^ 2)
Next i
For i = 0 To 18
Cells(14 + i, 22) = Sqr((Cells(14 + i, 2) - Cells(13, 2)) ^ 2 + (Cells(14 + i, 3) - Cells(13, 3)) ^ 2)
Next i
For i = 0 To 17
Cells(15 + i, 23) = Sqr((Cells(15 + i, 2) - Cells(14, 2)) ^ 2 + (Cells(15 + i, 3) - Cells(14, 3)) ^ 2)
Next i
For i = 0 To 16
Cells(16 + i, 24) = Sqr((Cells(16 + i, 2) - Cells(15, 2)) ^ 2 + (Cells(16 + i, 3) - Cells(15, 3)) ^ 2)
Next i
For i = 0 To 15
Cells(17 + i, 25) = Sqr((Cells(17 + i, 2) - Cells(16, 2)) ^ 2 + (Cells(17 + i, 3) - Cells(16, 3)) ^ 2)
Next i
For i = 0 To 14
Cells(18 + i, 26) = Sqr((Cells(18 + i, 2) - Cells(17, 2)) ^ 2 + (Cells(18 + i, 3) - Cells(17, 3)) ^ 2)
Next i
For i = 0 To 13
Cells(19 + i, 27) = Sqr((Cells(19 + i, 2) - Cells(18, 2)) ^ 2 + (Cells(19 + i, 3) - Cells(18, 3)) ^ 2) * UMF
Next i
For i = 0 To 12
Cells(20 + i, 28) = Sqr((Cells(20 + i, 2) - Cells(19, 2)) ^ 2 + (Cells(20 + i, 3) - Cells(19, 3)) ^ 2)
Next i
For i = 0 To 11
Cells(21 + i, 29) = Sqr((Cells(21 + i, 2) - Cells(20, 2)) ^ 2 + (Cells(21 + i, 3) - Cells(20, 3)) ^ 2)
Next i
For i = 0 To 10
Cells(22 + i, 30) = Sqr((Cells(22 + i, 2) - Cells(21, 2)) ^ 2 + (Cells(22 + i, 3) - Cells(21, 3)) ^ 2)
Next i
For i = 0 To 9
Cells(23 + i, 31) = Sqr((Cells(23 + i, 2) - Cells(22, 2)) ^ 2 + (Cells(23 + i, 3) - Cells(22, 3)) ^ 2)
Next i
For i = 0 To 8
Cells(24 + i, 32) = Sqr((Cells(24 + i, 2) - Cells(23, 2)) ^ 2 + (Cells(24 + i, 3) - Cells(23, 3)) ^ 2)
Next i
For i = 0 To 7
Cells(25 + i, 33) = Sqr((Cells(25 + i, 2) - Cells(24, 2)) ^ 2 + (Cells(25 + i, 3) - Cells(24, 3)) ^ 2)
Next i
For i = 0 To 6
Cells(26 + i, 34) = Sqr((Cells(26 + i, 2) - Cells(25, 2)) ^ 2 + (Cells(26 + i, 3) - Cells(25, 3)) ^ 2)
Next i
For i = 0 To 5
Cells(27 + i, 35) = Sqr((Cells(27 + i, 2) - Cells(26, 2)) ^ 2 + (Cells(27 + i, 3) - Cells(26, 3)) ^ 2)
Next i
For i = 0 To 4
Cells(28 + i, 36) = Sqr((Cells(28 + i, 2) - Cells(27, 2)) ^ 2 + (Cells(28 + i, 3) - Cells(27, 3)) ^ 2)
Next i
For i = 0 To 3
Cells(29 + i, 37) = Sqr((Cells(29 + i, 2) - Cells(28, 2)) ^ 2 + (Cells(29 + i, 3) - Cells(28, 3)) ^ 2) * UMF
Next i
For i = 0 To 2
Cells(30 + i, 38) = Sqr((Cells(30 + i, 2) - Cells(29, 2)) ^ 2 + (Cells(30 + i, 3) - Cells(29, 3)) ^ 2)
Next i
For i = 0 To 1
Cells(31 + i, 39) = Sqr((Cells(31 + i, 2) - Cells(30, 2)) ^ 2 + (Cells(31 + i, 3) - Cells(30, 3)) ^ 2)
Next i
For i = 0 To 0
Cells(32 + i, 40) = Sqr((Cells(32 + i, 2) - Cells(31, 2)) ^ 2 + (Cells(32 + i, 3) - Cells(31, 3)) ^ 2)
Next i
Das Ganze ist jedoch sehr umständlich. Mit der Zahlenfolge sollte jedoch eine viel kürzere Variante, z.B. in Form einer weiteren Schleife, möglich sein!
Ich komm jedoch leider nicht darauf wie sie funktioniert:/
Thx for your help :)
Cheers

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eleganz mit Schleifen
08.06.2015 23:12:27
Sepp
Hallo Klaus,
so?
Dim i As Long, n As Long

For i = 3 To 32
  For n = 2 To 31
    Cells(i, n + 9) = Sqr((Cells(i, 2) - Cells(n, 2)) ^ 2 + (Cells(i, 3) - Cells(n, 3)) ^ 2)
  Next
Next

Gruß Sepp

Anzeige
AW: Eleganz mit Schleifen
09.06.2015 16:46:11
Klaus
Hey Sepp,
Super Danke

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige