Clever-Excel-Forum

Normale Version: Summenformel per VBA erweitern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
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.

Danke schon mal für die Hilfe.
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.

Bild im Anhang.

Kann man da was machen?

Danke für deine Hilfe.

Guss Dietmar
Hallo Dietmar,

ich schaue mal.

Gruß Uwe
Hallo Dietmar,

probiere mal das:

Code:
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
Hallo Uwe,
das ist wirklich der Hammer.
1000 mal Danke.

Das funktioniert perfekt.

Nochmal 1000 mal Danke.

Gruß Dietmar
Seiten: 1 2