Microsoft Excel

Herbers Excel/VBA-Archiv

vba: Zeile einfüge an bestimmter Zeile

Betrifft: vba: Zeile einfüge an bestimmter Zeile von: Wolfgang A
Geschrieben am: 07.08.2014 19:12:06

Hallo miteinander,
nun habe ich schon einige Tipps und Beispiele im I-Net gefunden, aber eine Hilfe war es nicht.
Frage:
Wie kann ich ein Makro so konzipieren, dass bei Aufruf/Button des Makros z.B. "ZeileEZ" eine Zeile eingefügt wird und zwar so, dass es in der Spalte A den Begriff "EZ" sucht und unter der letzten Zeile EZ eine Zeile einfügt, so wie die letzte Zeile von EZ. Die Tabelle hat einen Blattschutz und einige Zellen sind bewusst nicht gesperrt.
Leider komme ich mit dem Makrogenerator nicht an mein Ziel ;-(
Das Ganze würde ich dann für Twin, DZ und MB selbst basteln bzw. den Suchbegriff austauschen.
Hoffe meine Erläuterung ist verständlich und als "Unterstützung" sende ich eine Musterdatei: https://www.herber.de/bbs/user/91959.xlsm

Danke für eine Hilfe

Wolfgang aus Franken

  

Betrifft: AW: vba: Zeile einfüge an bestimmter Zeile von: Gerd L
Geschrieben am: 07.08.2014 19:49:11

Hallo Wolfgang!

Sub a()


Dim rngFound As Range


Set rngFound = Columns(1).Find(what:="EZ", after:=Cells(1, 1), lookat:=xlWhole, LookIn:= _
xlValues, searchdirection:=xlPrevious)

If Not rngFound Is Nothing Then
    If Not IsEmpty(rngFound.Offset(1, 0)) Then
        ActiveSheet.Unprotect
        rngFound.Offset(1, 0).EntireRow.Insert shift:=xlDown
    End If
    ActiveSheet.Protect
End If



End Sub

Gruzß Gerd


  

Betrifft: AW: vba: Zeile einfüge an bestimmter Zeile von: Wolfgang A
Geschrieben am: 07.08.2014 19:59:57

Hallo Gerd,
Danke für die Hilfe.
So ein Makro hatte ich auch schon am Laufen, aber da wird "nur" eine Zeile eingefügt. Die Formeln und Formate + Zellschutz wird nicht mit übernommen, so muss man dies manuell nachholen ;-)

Gruss
Wolfgang aus Franken


  

Betrifft: AW: vba: Zeile einfüge an bestimmter Zeile von: Wolfgang A
Geschrieben am: 07.08.2014 20:28:33

Hallo miteinander,
hallo Gerd,

wollte nun mit dem Recorder dein Makro soweit ändern, dass es die Formatierung und Formeln übernimmt, aber das geht nur einmal und dann nicht mehr, es bleibt auf der Zeile 12 stehen.
Siehe:

Sub Makro1()
'
' Makro1 Makro
'

'
    ActiveSheet.Unprotect
    Rows("12:12").Select
    Selection.Insert Shift:=xlDown
    Range("A11:K11").Select
    Selection.Copy
    Range("A12").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("B12").Select
End Sub
Das eine Zeile bzw. wie in der Beispieldatei die Spalten A bis K einfach mit den Formeln und Formaten nach unten kopiert werden, geht wohl anders?

Gruss
Wolfgang aus Franken


  

Betrifft: AW: vba: Zeile einfüge an bestimmter Zeile von: WolfgangA
Geschrieben am: 08.08.2014 09:57:28

Hallo miteinander,
nun habe ich es mit allen möglichen Makrobefehlen versucht, dass in die eingefügte Zeile (mit Hilfe vom Makro von Gerd) die Zeile bzw. Spalte A-K oberhalb markiert wird und die Formate und Formeln in die neue Zeile kopiert.
Weder mit dem Befehl:

Rows(x).copy
Rows(x+1).Pastespecial xlpasteformats
wobei ich für x nicht genau weiß, was man da einträgt, habe da "rngFound" genommen.

Auch mit dem Befehl:
ActiveCell.Offset(-1, 0).EntireRow.Copy Destination:=ActiveCell
ActiveCell.EntireRow.SpecialCells(xlCellTypeConstants).ClearContents

bin ich klar gekommen.

Bin da etwas ratlos.

Gruss Wolfgang


  

Betrifft: AW: vba: Zeile einfüge an bestimmter Zeile von: WolfgangA
Geschrieben am: 11.08.2014 14:09:25

Hallo,
habe gesehen, dass es da beim Thread "Zeile einfügen und Format der Vorgängerzeile" eine passende Lösung gibt.

Gruss Wolfgang aus Franken


 

Beiträge aus den Excel-Beispielen zum Thema "vba: Zeile einfüge an bestimmter Zeile"