22.03.2021, 12:12 (Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2021, 12:41 von Kuwer.)
Hallo Kuwer,
ich bin von der Makro total beeindruck.
Ich kann es gar nicht schriftlich so ausdrücken, wie dankbar ich dir bin, dass du mir Hilfst.
Das funktioniert wirklich super und die Makro ist auch viel kürzer als die andere die in der Vorlage war.
Ich hätte da aber nochmal eine Frage an dich.
Kann man die Makro auch so schreiben, dass man nicht immer zwingend unterhalb der dicken Linie die Makro verwenden kann sondern auch innerhalb in einer Sektion (Zwischen den beiden dicken Linien)?
Das wäre der Hammer wenn das gehen würde.
22.03.2021, 14:24 (Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2021, 15:07 von WillWissen.
Bearbeitungsgrund: Unnötige Leerzeilen entfernt, Codetag
)
Hallo Kuwer,
ich habe selber mal versucht eine Lösung zu finden.
Code:
Sub TestEinfuegen()
With ActiveCell.EntireRow
If Len(.Cells(1, 3).Value) <> 1 Then
.Offset(-1).Copy
.Offset(-1).Insert
.Offset(-1).SpecialCells(2, 1) = 0
.Offset(-1).SpecialCells(2, 2) = ""
Cells(.Row - 1, 3).Value = ""
Application.CutCopyMode = False
End If
End With
End Sub
Es funktioniert leider nicht so gut, wenn ich bei Position 2 eine Zeile einfügen will nimmt er leider nicht die Summe mit.
Sub TestEinfuegen2()
Dim lngV1 As Long, lngV2 As Long, lngV3 As Long
With ActiveCell.EntireRow
If .Row > 9 Then
If .Cells(1, 9).HasFormula Then
lngV1 = -1
lngV2 = -1
lngV3 = -1
ElseIf Cells(.Row - 1, 9).HasFormula Then
lngV1 = 0
lngV2 = 1
lngV3 = 0
ElseIf .Cells(1, 8).HasFormula Then
lngV1 = 0
lngV2 = 0
lngV3 = -1
End If
.Offset(lngV1).Copy
.Offset(lngV2).Insert
.Offset(lngV3).SpecialCells(2, 1) = 0
.Offset(lngV3).SpecialCells(2, 2) = ""
Cells(.Row + lngV3, 3).Value = "Neu " & Now
Application.CutCopyMode = False
End If
End With
End Sub
Gruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28 • Dietmar Henning