Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1240to1244
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

Code optimieren

Code optimieren
Alifa
Guten Morgen,
a=1234 dann soll b=357 sein (1+2=3;2+3=5:3+4=7)
Mein Beispiel-Makro:
Sub Probieren()
Dim a, b
For Each a In Array(1234, 12345)
b = 1 * (Mid$(a, 1, 1)) + 1 * (Mid$(a, 2, 1)) & _
1 * (Mid$(a, 2, 1)) + 1 * (Mid$(a, 3, 1)) & _
1 * (Mid$(a, 3, 1)) + 1 * (Mid$(a, 4, 1))
MsgBox b
Next
End Sub
Wie kann man das optimieren? Es soll auch für größere Zahlen anwendbar sein.
Gruß, Alifa

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Code optimieren
26.12.2011 09:19:40
Oberschlumpf
Hi Alifa
Versuch mal:
Sub ttt()
Dim a, b, c
a = "1234"
For c = 1 To Len(a) - 1
b = b & Val(Mid(a, c, 1)) + Val(Mid(a, c + 1, 1))
Next
MsgBox b
End Sub

Wenn a = 1234, dann b = 357
1+2=3; 2+3=5; 3+4=7
Wenn a = 12345, dann b = 3579
1+2=3; 2+3=5; 3+4=7 ; 4+5=9
Hilfts?
Ciao
Thorsten
AW: Code optimieren
26.12.2011 10:01:08
Alifa
Hallo Thorsten,
wenn du a="1234" mit For a=1234 To 12345 ersetzt, dann ist das genau das, was ich suche!
Alifa
AW: Code optimieren
26.12.2011 09:26:55
Oberschlumpf
Hi Jochen
Alifa will aber gar nicht die "herkömmliche" Quersumme bilden.
Denn:
Quersumme von 1234 = 1+2+3+4 = 10
gewünscht ist als Ergebnis aber
(1+2) & (2+3) & (3+4) = 357
Ciao
Thorsten
AW: Code optimieren
26.12.2011 09:29:20
JoWE
Ja, sorry!
Da hast Du völlig recht Oberschlau :-))
Gruß
Jochen
is nich schlimm, is ja Weihnachten...hehe :-) owT
26.12.2011 09:35:09
Oberschlumpf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige