|
Dieses Makro soll aufzeigen, wie man 2 Zahlen miteinander vergleichen kann. Da ich gerne an richtigen Beispielen arbeite nehmen wir hier einmal die Auswertung des Spiel 77. Die Nummer auf dem Schein soll mit der gezogenen Nummer verglichen werden. In Zelle B3 werden dann die gleichen Zahlen angezeigt. | | A | B | | 1 | Zahl auf Schein: | 1241821 | | 2 | gezogen wurde: | 1212821 | | 3 | richtige: | 821 |
Der Code:
Option Explicit Sub spiel77() Dim bprop(7, 2) As Variant Dim bprop2(7) As Variant Dim i As Integer Range("B3").ClearContents For i = 7 To 1 Step -1 bprop(i, 1) = Right(Mid(Range("B1"), i, 1), 1) bprop2(i) = Right(Mid(Range("B2"), i, 1), 1) If bprop(i, 1) = bprop2(i) Then bprop(i, 2) = bprop(i, 1) & Range("B3") Range("B3") = bprop(i, 2) Else Exit Sub End If Next End Sub Um Euch einmal zu präsentieren, wie unterschiedlich Leute an eine Sache heran gehehen, möchte ich Euch an dieser Stelle noch einen zweiten Excel VBA Code zeigen. Glausius, der steht mir immer wieder zur Seite, schickte mir viel später genau diesen Code zu: Option Explicit Sub spiel77() Dim i As Integer Dim j As Integer Range("B3").ClearContents For i = 7 To 1 Step -1 If Right(Range("B1"), j) = Right(Range("B2"), j) Then Range("B3") = Right(Range("B1"), j) Else Exit For End If j = j + 1 Next End Sub
Was ist an diesem Code anders? Es wurde hier auf das Auslesen der einzelnen Ziffern in einen Array verzichtet. Somit konnte nicht nur eine Variable entfallen, nein, man konnte auch auf die Deklaration der Variablen als Variant verzichten. Das bedeutet, dass man an dieser Stelle als Integer deklariert hat und somit Speicher spart.
|