Letzen Wert in einer Reihe von gleichen Werten auswählen

Liebe Excelgemeinde,
brauche wieder einmal Eure werte Unterstützung. 
Ich möchte in einer Tabelle in einer Kolonne von mehreren gleichen Werten (untereinander Bereiche AAAAAXABBBBBCCCCDDDXD u.s.w. keine Leerzeilen) den letzten ausgewählt bekommen.
Ist zwei Spalten daneben im Bereich A kein X dann > Aktion: Nun soll das X in der Zeile darüber eingefügt werden. Es kann aber sein das X schon vorhanden ist.
Dann soll diese Kolonne übersprungen werden und in der nächsten nach Maßgabe ggf. wieder der Letzte Wert ausgewählt werden damit die Akion X einfügen gestarten werden kann.
Dies soll in einem Makro durch laufen werden, bis als X eingefügt sind.
u.s.w.
Meint Ihr das das irgendwie hinzubekommen ist. Ich bin hier mit meinem Latein am Ende.

Viele Dank schon mal für Eure liebe Mühe
Lernfix

Hallo Lernfix

Meint Ihr, dass das irgendwie hinzubekommen ist? Ich bin hier mit meinem Latein am Ende.

Ein sehr interessantes und spannendes Projekt! Da bekommt man sicher was hin. Allerdings bin ich fix und foxi, wenn ich Deine Angaben lese. Es ist mir einiges nicht klar.

Ich möchte in einer Tabelle in einer Kolonne von mehreren gleichen Werten …

In welcher Spalte befinden sich diese Werte?

Bereiche AAAAAXABBBBBCCCCDDDXD

Bedeutet das, es gibt in dieser Spalte verschiedene Zellen, die den Inhalt
„AAAAAXABBBBBCCCCDDDXD“ haben?

Ist zwei Spalten daneben im Bereich A kein X dann …

Was meinst Du mit Bereich A? Meinst Du damit Spalte A?

Und immer wieder kommt das Wort Kolonne vor. Das tönt so militärisch! Sprich doch lieber von Spalten, und zwar exakt: Spalte A, Spalte B usw.

Und viel einfacher ist es, wenn Du Deine Tabelle hochlädst.
Grüsse Niclaus

Hallo Niclaus,

erst mal vielen Dank das Du Dich meines Problems angenommen hast.
Ein hochladen ist aus technischen Gründen leider nicht möglich,
aber ich will versuchen es nochmal so gut wie möglich darzustellen.

Also die Kolonnen sind Spalten.

In Spalte A steht untereinander immer eine bestimmte Anzahl der selben Werte
(das können 5 aber auch 150 sein). Der einfachheithalber habe ich diese Werte
in meiner Fragestellung mit Buchstaben gekennzeichnet.

z.B.: in Spalte A heist der Bereich z.B.: in echt HZ405010

Sieht dann so aus:

Spalte A: Spalte B
HZ405010
HZ405010
HZ405010
HZ405010
HZ405010 HZ00006
HZ405010 letzter Wert im Bereich leer leer

Es folgt der Bereich:

HZ405020
HZ405020
HZ405020
HZ405020
HZ405020 in dieser Zeile sollte der Wert HZ00006 stehen
HZ405020 letzter Wert im Bereich leer leer

usw.

Gesucht werden soll nach dem Wert: HZ00006, dieser sollte in Spalte B stehen.
Tut er aber fast nie.
Nun soll geschaut werden ober der Wert im jeweiligen Bereich vorhanden ist.
Wenn nicht, dann soll in Spalte A der letzte Bereichswert ausgewählt (select) werden.

Hier erfolgt dann meine vorbereitete Aktion: (VB)

Die vorbereite Aktion sieht so aus, dass 8 Spalten breit ab der selektierten Zelle
der Bereich nach unten verschoben wird und und in die leeren Zellen die erforderlichen immer gleichen Angaben einfügt werden. Bis dato erfolgt Aktion manuel was den
gesamten Ablauf unterbricht.

Ist die Akion beendet, soll im nächsten Bereich das selbe passieren.
Aber nur wenn HZ00006 nicht vorhanden ist. Ansonsten soll der Bereich
übersprungen werden und die Suche im nächsten Bereich fortgesetzt werden, bis alle Bereiche (28 an der Zahl) abgearbeitet sind.
Beim überspringen sehe ich die besondere Schwierigkeit

Die Zeilen sind über die 8 Spalten hinweg sind durchweg mit Daten gefüllt.
Ausnahme immer die letzte Bereichszeile hier gibt es immer 2 Leerzellen

Ich hoffe das kommt optisch einigermaßen bei Dir an.

Noch einen schönen Sonntag
VG
von Lernfix

Hallo Lernfix

Ich habe eine Frage - nur zu Spalte A

in Spalte A heisst der Bereich z.B.: in echt HZ405010
Sieht dann so aus:

Spalte A: Spalte B
HZ405010
HZ405010
HZ405010 HZ00006
HZ405010 letzter Wert im Bereich leer leer

Es folgt der Bereich:

HZ405020
HZ405020
HZ405020 in dieser Zeile sollte der Wert HZ00006 stehen
HZ405020 letzter Wert im Bereich leer leer

Meine Frage: Folgen in Spalte A die beiden Bereiche unmittelbar hintereinander? Also ohne Leerzellen dazwischen? Stimmt das?

So verstehe ich Deine Bemerkung vom _8.11.2014 17:18 Uhr

Ich möchte in einer Tabelle in einer Kolonne von mehreren gleichen Werten
(untereinander Bereiche AAAAAXABBBBBCCCCDDDXD u.s.w. keine Leerzeilen)_

Ich hoffe das kommt optisch einigermaßen bei Dir an.

Leider nein! Sonst hätte ich nicht diese Frage

Grüsse Niclaus

Hallo Lernfix

Eine weitere Frage - nur zu Spalte A:

In welcher Zelle beginnt Dein Datenbereich

HZ405010
HZ405010

In A1 oder erst später? M. a. W. gibt es Spaltenüberschriften? - Bitte genaue Zellenangabe!

Grüsse

Hallo Niclaus,
Es gibt in Spalte A3 eine Überschrift
danach eine Leerzeile für die Autofilter
Der Bereich beginnt in Zelle A5
jede weitere Zeile in Spalte A ist befüllt.
und ist 8 Spalten breit.

Ich hoffe das hilft Dir weiter

Grüsse Lernfix

Es gibt in Spalte A3 eine Überschrift
danach eine Leerzeile für die Autofilter
Der Bereich beginnt in Zelle A5
jede weitere Zeile in Spalte A ist befüllt.
und ist 8 Spalten breit.

Hallo Lernfix

Ich schicke Dir hier ein Makro.

Sub lernfix()
Dim i ' Zählt die "Aktionen"
Dim zelle1, zelle2, zelle3 ' Inhalt verschiedener Zellen
Dim sa ' Adresse der jeweils ausgewählten Zelle

i = 0
Range("A5").End(xlDown).Select

Do While sa "$A$5"
 zelle1 = Selection
 zelle2 = Selection.Offset(-1, 0)
 zelle3 = Selection.Offset(-2, 1)

 If zelle1 = zelle2 Or zelle3 = "HZ00006" Then
 Else
 Call AktionNiclaus
 i = i + 1
 End If
 Selection.Offset(-1, 0).Select
 sa = Selection.Address
Loop
MsgBox "Auszuführende Aktionen: " & i
End Sub


Sub AktionNiclaus()
 Selection.EntireRow.Insert
 With Selection.Interior
 .Pattern = xlSolid
 .PatternColorIndex = xlAutomatic
 .Color = 65535
 .TintAndShade = 0
 .PatternTintAndShade = 0
 End With
End Sub

Dieses Makro macht folgendes:

In Spalte A sind ab A5 gruppenweise „Artikel“ aufgeführt. (Ich nenne die Einträge mal so.)
Wenn eine neue Artikel-Gruppe beginnt (z. B. HZ405020), ist eine Aktion auszuführen, AUSSER wenn eine Zelle über dem letzten Eintrag der jeweiligen Artikel-Gruppe in Spalte B den Inhalt „HZ00006“ hat.

Zur Erklärung ein Beispiel: Angenommen in A5:A20 steht „HZ405010“. Wenn schräg darüber in B19 „HZ00006“ steht, passiert nichts. Sonst wird eine Aktion ausgeführt.

Als Aktion habe ich mal folgendes gemacht: Zwischen zwei verschiedenen Artikel-Gruppen wird eine leere Zeile eingefügt mit einer gelb eingefärbten Zelle in Spalte A! Diese Aktion musst Du durch Deine Aktion ergänzen:

Hier erfolgt dann meine vorbereitete Aktion: (VB)
Die vorbereite Aktion sieht so aus, dass 8 Spalten breit ab der selektierten Zelle der
Bereich nach unten verschoben wird und in die leeren Zellen die erforderlichen
immer gleichen Angaben einfügt werden.

Dazu musst Du im Makro in der Zeile Call AktionNiclaus Dein Makro zum Starten bringen: also z. B. mit Call AktionLernfix.

Ich hoffe, das klappt auch bei Dir, und grüsse
Niclaus

Hallo Niclaus,
Vielen Dank für Deine Unterstützung. Ich kann das Makro aber
erst übermorgen testen.
Sieht vielversprechend aus. Mal sehen wie ich damt zurecht komme.
Ich melde mich.

Bis dann
Grüsse
Lernfix

Hallo Niclaus,

das funktioniert mit Deiner Aktion (gelb eins tiefer) soweit ganz gut

In meiner Aktion soll jedoch eine Zeile darüber mit vorgegebenen Werten eingefügt werden.

L e i d e r habe ich erst jetzt gesehen, dass der Wert HZ00006 immer in spalte C steht.

Die erste beiden Werte (z. B.: HZ5010 aus Spalte A und einen „Text“ (kanst Du auch Text nennen) aus Spalte B und holt sich das Makro immer aus der Zeile darüber.

Wenn ich mein Makro (eingebaut) starte, werden die einzufügenden Werte in Deiner Fassung eine Zeile darunter eingefügt.
Was ich ja nicht will.

Kannst Du das mit den neuen Kriterien nochmals anpassen?

Mein Macro:

With ActiveCell
Range(.Offset(0, 0), .Offset(0, 8)).Select
End With
Selection.Insert Shift:=xlDown
With ActiveCell
Range(.Offset(-1, 0), .Offset(-1, 1)).Select
End With
Selection.Copy
With ActiveCell
Range(.Offset(1, 0), .Offset(1, 1)).Select
End With

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Application.CutCopyMode = False
With Selection.Font
.Name = „Arial“
.FontStyle = „Standard“
.Size = 9
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 3
End With
With ActiveCell
Range(.Offset(0, 2), .Offset(0, 2)).Select
End With

ActiveCell.FormulaR1C1 = " HZ00006"
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = „NZAF“
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = „0“
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = „0 %“
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = „0 %“
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = „0“
ActiveCell.Offset(0, 1).Activate
ActiveCell.FormulaR1C1 = „Zeit“
With ActiveCell
Range(.Offset(0, 0), .Offset(0, -8)).Select
End With
With Selection.Font
.Name = „Arial“
.FontStyle = „Standard“
.Size = 9
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 3
End With

With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlHairline
.ColorIndex = xlAutomatic
End With

Nochmals vielen Dank für Deine Mühe.

Viele Grüsse
Lernfix

das funktioniert mit Deiner Aktion (gelb eins tiefer) soweit
ganz gut
In meiner Aktion soll jedoch eine Zeile darüber mit
vorgegebenen Werten eingefügt werden.
L e i d e r habe ich erst jetzt gesehen, dass der Wert HZ00006
immer in spalte C steht.
Wenn ich mein Makro (eingebaut) starte, werden die
einzufügenden Werte in Deiner Fassung eine Zeile darunter
eingefügt.
Was ich ja nicht will.
Kannst Du das mit den neuen Kriterien nochmals anpassen?

Hallo lernfix

Ich habe das Makro angepasst. Bei Call Aktion musst Du das Wort „Aktion“ durch den Namen Deines Makros ersetzen. Da Du keine Dateien hochladen kannst, ist es mir nicht möglich, zu prüfen, ob alles funktioniert.

In Deinem Makro habe ich folgendes festgestellt. Du schreibst irgendwo

ActiveCell.FormulaR1C1 = " HZ00006"

Ich bin immer davon ausgegangen, der Formelinhalt heisse „HZ00006“, ohne Leerzeichen. Du musst also entsprechende Korrekturen vornehmen.

Sub lernfix\_Version2()

Dim i ' Zählt die "Aktionen"
Dim zelle1, zelle2, zelle3 ' Inhalt verschiedener Zellen
Dim sa ' Adresse der jeweiligen Zelle

i = 0
Range("A5").End(xlDown).Select

Do While sa "$A$5"
 zelle1 = Selection
 zelle2 = Selection.Offset(-1, 0)
 zelle3 = Selection.Offset(-2, 2)

 If zelle1 = zelle2 Or zelle3 = "HZ00006" Then
 Selection.Offset(-1, 0).Select
 sa = Selection.Address
 Else
 Selection.Offset(-2, 2).Value = "HZ00006"
 sa = Selection.Address
 Call Aktion
 Range(sa).Select
 i = i + 1
 End If
Loop
MsgBox "Ausgeführte Aktionen: " & i
End Sub

Grüsse Niclaus

Plötzlich war meine Antwort weg.

… so sollte es an der Stelle weitergehen:

Situation:
A B C D E F G H I

HZ405010 „Text“ „HZ00003“ „Text“ „Text“ „Text“ „Text“ „Text“ „Text“
HZ405010 "Text " „leer“ „Text“ „Text“ „Text“ „Text“ „Text“ „Text“

Aktion:
HZ405010 „Text“ „HZ00003“ „Text“ „Text“ „Text“ „Text“ „Text“ „Text“
>>> Mein Makro >>> befüllt eingefügte Leerzellen mit den benötigten Daten.
HZ405010 "Text " „leer“ „Text“ „Text“ „Text“ „Text“ „Text“ „Text“

Ergebnis:
HZ405010 „Text“ „HZ00003“ „Text“ „Text“ „Text“ „Text“ „Text“ „Text“
HZ405010 „Text“ „HZ00006“ „Text“ „Text“ „Text“ „Text“ „Text“ „Text“
HZ405010 "Text " „leer“ „Text“ „Text“ „Text“ „Text“ „Text“ „Text“

Ich hoffe es ist verständlich genug dargestellt.

Meinst Du das ist so hinzukriegen.

VG
Lernfix

Situation:
A B C D E
F G H I

HZ405010 „Text“ „HZ00003“ „Text“ „Text“ „Text“
„Text“ „Text“ „Text“
HZ405010 "Text " „leer“ „Text“ „Text“ „Text“
„Text“ „Text“ „Text“

Aktion:
HZ405010 „Text“ „HZ00003“ „Text“ „Text“ „Text“
„Text“ „Text“ „Text“
>>> Mein Makro >>> befüllt eingefügte Leerzellen mit den
benötigten Daten.
HZ405010 "Text " „leer“ „Text“ „Text“ „Text“
„Text“ „Text“ „Text“

Ergebnis:
HZ405010 „Text“ „HZ00003“ „Text“ „Text“ „Text“
„Text“ „Text“ „Text“
HZ405010 „Text“ „HZ00006“ „Text“ „Text“ „Text“
„Text“ „Text“ „Text“
HZ405010 "Text " „leer“ „Text“ „Text“ „Text“
„Text“ „Text“ „Text“

Hallo Lernfix

Ich hoffe es ist verständlich genug dargestellt.

Ganz sicher bin ich mir immer noch nicht!

Ich verstehe es so - es geht ja vorerst vor allem um die Spalten A und C. Zum Beispiel:
A5:A10 sind gefüllt mit HZ405010
C9 enthält NICHT HZ00006 oder ist leer
A11:A20 ist gefüllt mit der nächsten Gruppe HZ405020

Also muss Deine Aktion ausgeführt werden. Und zwar soll über A10 eine neue Zeile eingefügt werden, eine neue Zeile 10. Diese Zeile wird gefüllt mit Deinen Daten (gemäss Deinem Makro in roter Schrift). Vor allem in C10 steht dann HZ00006.

Nach Deiner Aktion schaut es dann so aus:
Neu ist A5:A11 gefüllt mit HZ405010. In C10 steht HZ00006.
Neu ist A12:A21 gefüllt mit HZ405020.

Meinst Du das ist so hinzukriegen.

So wie ich es gerade dargestellt habe: Ja. - Ich hoffe, es entspricht jetzt besser dem, was Du möchtest. Grüsse Niclaus

Sub lernfix()

Dim i ' Zählt die "Aktionen"
Dim zelle1, zelle2, zelle3 ' Inhalt verschiedener Zellen
Dim sa ' Adresse der jeweiligen Zelle

i = 0
Range("A5").End(xlDown).Select

Do While sa "$A$5"
 zelle1 = Selection
 zelle2 = Selection.Offset(-1, 0)
 zelle3 = Selection.Offset(-2, 2)

 If zelle1 = zelle2 Or zelle3 = "HZ00006" Then
 Selection.Offset(-1, 0).Select
 sa = Selection.Address
 Else
 Selection.Offset(-1, 0).Select ' diese Zeile ist neu
 sa = Selection.Address
 MsgBox "Hier geschieht was! Ueber " & sa & " wird eine neue Zeile eingefügt."
 Call Aktion
 Range(sa).Select
 i = i + 1
 End If
Loop
MsgBox "Ausgeführte Aktionen: " & i
End Sub

Sub Aktion() ' Makro von Lernfix
With ActiveCell
 Range(.Offset(0, 0), .Offset(0, 8)).Select
 End With
 Selection.Insert Shift:=xlDown
 With ActiveCell
 Range(.Offset(-1, 0), .Offset(-1, 1)).Select
 End With
 Selection.Copy
 With ActiveCell
 Range(.Offset(1, 0), .Offset(1, 1)).Select
 End With

 Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks \_
 :=False, Transpose:=False

 Application.CutCopyMode = False
 With Selection.Font
 .Name = "Arial"
 .FontStyle = "Standard"
 .Size = 9
 .Strikethrough = False
 .Superscript = False
 .Subscript = False
 .OutlineFont = False
 .Shadow = False
 .Underline = xlUnderlineStyleNone
 .ColorIndex = 3
 End With
 With ActiveCell
 Range(.Offset(0, 2), .Offset(0, 2)).Select
 End With

 ActiveCell.FormulaR1C1 = "HZ00006" ' im Orig: " HZ00006"
 ActiveCell.Offset(0, 1).Activate
 ActiveCell.FormulaR1C1 = "NZAF"
 ActiveCell.Offset(0, 1).Activate
 ActiveCell.FormulaR1C1 = "0"
 ActiveCell.Offset(0, 1).Activate
 ActiveCell.FormulaR1C1 = "0 %"
 ActiveCell.Offset(0, 1).Activate
 ActiveCell.FormulaR1C1 = "0 %"
 ActiveCell.Offset(0, 1).Activate
 ActiveCell.FormulaR1C1 = "0"
 ActiveCell.Offset(0, 1).Activate
 ActiveCell.FormulaR1C1 = "Zeit"
 With ActiveCell
 Range(.Offset(0, 0), .Offset(0, -8)).Select
 End With
 With Selection.Font
 .Name = "Arial"
 .FontStyle = "Standard"
 .Size = 9
 .Strikethrough = False
 .Superscript = False
 .Subscript = False
 .OutlineFont = False
 .Shadow = False
 .Underline = xlUnderlineStyleNone
 .ColorIndex = 3
 End With

 With Selection.Borders(xlInsideVertical)
 .LineStyle = xlContinuous
 .Weight = xlHairline
 .ColorIndex = xlAutomatic
 End With
 
End Sub

Niclaus, Du bist ein Zauberer, es hat super geklappt. Vielen, vielen Dank!!!

Ich habe mir natürlich den Code angeschaut aber die Abhängigkeiten der Zeilen 1, 2, 3 sind mir nicht klar geworden.

Deswegen habe ich noch eine kleine bitte:
Die Tabelle ist die gleiche, es soll jedoch noch nach dem Wert „HZ00003“ gesucht werden:
„HZ00003“ steht immer direkt über dem Wert „HZ00005“, so wie nachfolgen dargestellt.
„Text“… zeigt nur an, dass es noch weitere Spalten gibt.

Situation:
A B C D E F G H I

HZ405010 „Text“ „HZ00001“ „Text“ …
HZ405010 „Text“ „HZ00002“ „Text“ …
HZ405010 „Text“ „HZ00005“ „Text“ …
HZ405010 „Text“ „HZ00006“ „Text“ …
HZ405010 "Text " „leer“ „Text“…

Aktion:
HZ405010 „Text“ „HZ00001“ „Text“…
HZ405010 „Text“ „HZ00002“ „Text“…
>>> Mein Makro >>> befüllt eingefügte Leerzellen mit den benötigten Daten
HZ405010 „Text“ „HZ00005“ „Text“…
HZ405010 „Text“ „HZ00006“ „Text“…
HZ405010 "Text " „leer“ „Text“…

Ergebnis:
HZ405010 „Text“ „HZ00001“ „Text“…
HZ405010 „Text“ „HZ00002“ „Text“…
HZ405010 „Text“ „HZ00003“ „Text“…
HZ405010 „Text“ „HZ00005“ „Text“…
HZ405010 „Text“ „HZ00006“ „Text“…
HZ405010 "Text " „leer“ „Text“…

Bin gespannt was sich sich geändert hat. Vielleicht verstehe ich dann den Code.

Liebe Grüsse
von
Lernfix

Alles ist gut, ich habe es kapiert!

Alle meine Probleme sind gelöst.

Nochmals vielen Dank

Viele Grüße und noch eine schöne Zeit
wünscht
Lernfix

Niclaus, Du bist ein Zauberer, es hat super geklappt. Vielen,
vielen Dank!!!

Hallo Lernfix

Danke für die Blumen!

Ich habe mir natürlich den Code angeschaut aber die
Abhängigkeiten der Zeilen 1, 2, 3 sind mir nicht klar
geworden.

Welche Zeilen meinst Du? Die drei Zeilen, die mit Dim beginnen? - Die Dim sind wie der Anfange eines Kochrezeptes: Man nehme Salz, Zucker und Eier … Mit Dim werden die Variablen aufgeführt, die man im Verlauf des Makros einsetzen will. Im Unterschied zum Kochrezept sind diese drei Dim-Zeilen nicht unbedingt nötig (ausser man würde im Modul eine oberste Zeile hinzufügen: Option Explizit). Ein richtiger Excel-Zauberer würde die Dim-Zeilen noch genau spezifizieren z. B. mit As String, As Integer usw.

Deswegen habe ich noch eine kleine bitte:
Die Tabelle ist die gleiche, es soll jedoch noch nach dem Wert
„HZ00003“ gesucht werden:
„HZ00003“ steht immer direkt über dem Wert "HZ00005

Das kann man auch hinzaubern. Ich habe hier ein Makro geschrieben, das nur diese Aufgabe ausführt. Schau mal, ob das Deinen Vorstellungen entspricht. Wenn auch dieses Makro ok ist, kann ich es Dir in das erste einfügen.
Bei Call Aktion2 musst Du „Aktion2“ durch den Namen Deines Makros ersetzen, das diesen Fall „betreut“. Dieses Makro ist ja nicht identisch mit dem Makro, das Du am 12.11.2014 13:22 h gezeigt hast.

Sub lernfix3()

Dim i ' Zählt die "Aktionen"
Dim zelle4 , zelle5 ' Inhalt verschiedener Zellen
Dim sa ' Adresse der jeweiligen Zelle

i = 0
Range("A5").End(xlDown).Select
Selection.Offset(1, 0).Select

Do While sa "$A$5"
 zelle4 = Selection.Offset(0, 2)
 zelle5 = Selection.Offset(-1, 2)

 If zelle4 = "HZ00005" And zelle5 "HZ00003" Then
 MsgBox "Ueber " & sa & " wird eine neue Zeile eingefügt."
 Call Aktion2
 i = i + 1
 End If
 Selection.Offset(-1, 0).Select
 sa = Selection.Address
Loop
MsgBox "Ausgeführte Aktionen: " & i
End Sub

Grüsse Niclaus