Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
916to920
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
916to920
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Einfügen von Zeilen in definiertem Bereich

Einfügen von Zeilen in definiertem Bereich
24.10.2007 17:26:44
Zeilen
Hallo Zusammen,
ich habe eine Tabelle, dort möchte ich per Makro die Zeile der aktuellen Zelle kopieren und darunter einfügen.
Als Rafinesse soll dass aber in einem definierten Bereich funktionieren, und zwar zwischen dem zu findenden Wort "Äpfel" in Spalte 1 + 3 Zeilen nach unten und dem darunter zu findenden Wort "Birnen" - 5 Zeilen nach oben. Aber es passiert mit diesen dynamischen Bezügen nichts.
Setze ich in der dritten If bedingung einfach konkrete Werte ein, dann klappt es, aber ich möchte es ja dynamisch haben, damit sich der Definitionsbereich vergrößert, wenn neue Zeilen eingefügt werden...
Vielen Dank für die Hilfe!

Sub zeile1einfügenspezial()
Application.ScreenUpdating = False
For x = 1 To 65536
If Cells(x, 1).Value = "Äpfel" Then
xpos = x + 3
x = 65536
End If
Next x
For y = 1 To 65536
If Cells(y, 1).Value = "Birnen" Then
xpos = y - 5
y = 65536
End If
Next y
If ActiveCell.Row >= xpos And ActiveCell.Row 


1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einfügen von Zeilen in definiertem Bereich
24.10.2007 22:17:00
Zeilen
Hallo Horst,
Sub ZeileEinfügenSpezial()
Dim rng As Range
Dim lngFirst As Long, lngLast As Long

Set rng = Range("A:A").Find(What:="Äpfel", LookAt:=xlWhole, LookIn:=xlFormulas)

If Not rng Is Nothing Then lngFirst = rng.Row + 3

Set rng = Range("A:A").Find(What:="Birnen", LookAt:=xlWhole, LookIn:=xlFormulas)

If Not rng Is Nothing Then lngLast = rng.Row - 5

If lngFirst > 0 And lngLast >= lngFirst Then
    With ActiveCell
        If Not Intersect(Rows(lngFirst & ":" & lngLast), Rows(.Row)) Is Nothing Then
            Rows(.Row + 1).Insert Shift:=xlUp
            Rows(.Row).Copy Rows(.Row + 1)
        End If
    End With
End If

Set rng = Nothing
End Sub

Gruß Sepp

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige