22.03.2021, 13:12 (Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2021, 13: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, 15:24 (Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2021, 16: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