Bevor ich Aufgabe2 zeige, würde ich erst mal gerne von dir erfahren wie du es händisch rechnen würdest (ich will sehen das du die Vektorrechnung beherrschst).
Aufgabe1 ist nicht eineindeutig formuliert (bzw. ist frei für Interpretationen), an der Stelle würde ich wärend der Prüfung den Prüfer fragen wie die Aufgabe exakt zu deuten ist. Das kann ich hier natürlich nicht - deshalb die Anmerkung in Aufgabe1.
Option Explicit
Sub Aufgabe1()
'unter der Bedingung, dass mind. eine der ersten drei Zeilen einen Wert beinhalten,
'sonst Laufzeitfehler
Dim rng As Excel.Range
Dim nz As Long
Dim i As Long
Set rng = Cells(Rows.Count, "A").End(xlUp) 'letzte Zelle in Spalte A ermitteln
Set rng = Range("A1", rng) 'zu betrachtenden Bereich referenzieren
For i = 1 To rng.Cells.Count
If rng.Cells(i).Text = "" Then
nz = nz + 1
Else
nz = 0
End If
If nz = 3 Then Exit For
Next
If nz = 3 Then
'ist die oben genannte Bedingung nicht erfüllt, kommt es hier dann zum Laufzeitfehler
MsgBox "Auf Zelle " & rng.Cells(i - 3).Address(False, False) & " folgen die ersten drei Leerzeilen."
Else
MsgBox "Es wurden keine drei Leerzeilen in Folge gefunden."
End If
End Sub
Sub Aufgabe3(ByVal Arg1 As Long, ByVal Arg2 As Long, ByVal Arg3 As Long, ByRef Arg4 As Long)
'Anm.: ByVal ist hier bei Arg1, Arg2 und Arg3 nicht zwingend erforderlich, auch das ByRef nicht
' ByVal Arg4 wäre jedoch falsch!
If Arg1 > Arg2 And Arg1 > Arg3 Then
Arg4 = 1
ElseIf Arg2 > Arg1 And Arg2 > Arg3 Then
Arg4 = 2
Else
Arg4 = 3
End If
End Sub
|