Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeile einfügen und dann die Formeln eintragen?

Zeile einfügen und dann die Formeln eintragen?
16.09.2008 22:51:11
Selma
Hallo Leute,
wie kann ich beim Einfügen einer neue Zeile per VBA die Formel in die Zellen der eingefügte Zeile eintragen?

Sub Insert_Task()
Rows(ActiveCell.Row + 1).Insert Shift:=xlUp
Rows(ActiveCell.Row + 1).Select
End Sub


Beispiel für die Formeln der aktive Zeile 40:
D40 = A40*50/25
E40 = WENN(ODER(B40="";C40="");"";B40*3,14+1,2+$A$1)
T40 = VERKETTEN(H40;" ";J40)
Vielen Dank im Voraus !
Liebe Grüße,
Selma

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile einfügen und dann die Formeln eintragen?
17.09.2008 09:32:00
David
Hallo Selma,
nach dem Muster:
Range(...).FormulaLocal = "A40*50/25"
Gruß
David
AW: Zeile einfügen und dann die Formeln eintragen?
17.09.2008 10:06:26
Selma
Hallo David,
wie sieht der Code ganz aus ? ;)
LG,
Selma
AW: Zeile einfügen und dann die Formeln eintragen?
17.09.2008 10:22:31
David
Hallo Selma,
wie wär's mit "Mitdenken" ? ;-)
Versuch's mal so:
Option Explicit

Sub Insert_Task()
Dim Zeile As Double
Zeile = ActiveCell.Row + 1
Rows(Zeile).Insert Shift:=xlUp
Range("D" & Zeile).FormulaLocal = "=A" & Zeile & "*50/25"
Range("E" & Zeile).FormulaLocal = "=WENN(ODER(B" & Zeile & "="""";C" & Zeile & "="""");"""";B"  _
& Zeile & "*3,14+1,2+$A$1)"
Range("T" & Zeile).FormulaLocal = "=VERKETTEN(H" & Zeile & ";" & """ "";J" & Zeile & ")"
End Sub


Gruß
David

Anzeige
AW: Zeile einfügen und dann die Formeln eintragen?
17.09.2008 10:48:00
fcs
Hallo Selma,
hier zwei Varianten.
Für die Formeln wird dabei die sprachunabhängige Englische Variante verwendet.
Gruß
Franz

Sub Insert_Task()
Dim Spalte As Long, Zeile As Long
Const Zeile1Formel = 2 '1. Zeile mit Formeln
Zeile = ActiveCell.Row
Rows(Zeile + 1).Insert Shift:=xlUp
If Zeile = Zeile1Formel Then
'Zeile mit Formeln unterhalb der Einfügezeile nach oben kopieren
Rows(Zeile + 1).Copy Destination:=Cells(Zeile, 1)
'Zellinhalte ohne Formel löschen
For Spalte = 1 To ActiveSheet.Cells.SpecialCells(xlLastCell).Column
If Not Cells(Zeile, Spalte).HasFormula Then
Cells(Zeile, Spalte).ClearContents
End If
Next
ElseIf Zeile > Zeile1Formel Then
'Zeile mit Formeln oberhalb der Einfügezeile nach unten kopieren
Rows(Zeile).Copy Destination:=Cells(Zeile + 1, 1)
'Zellinhalte ohne Formel löschen
For Spalte = 1 To ActiveSheet.Cells.SpecialCells(xlLastCell).Column
If Not Cells(Zeile + 1, Spalte).HasFormula Then
Cells(Zeile + 1, Spalte).ClearContents
End If
Next
End If
Rows(Zeille + 1).Select
End Sub
Sub Insert_Task_Alternative()
Dim Spalte As Long, Zeile As Long, strFormel As String
Const Zeile1Formel = 2 '1. Zeile mit Formeln
Zeile = ActiveCell.Row
Rows(Zeile + 1).Insert Shift:=xlUp
'Formeln einfügen
strFormel = "=R[0]C[-3]*50/25"
Cells(Zeile + 1, 4).FormulaR1C1 = strFormel
strFormel = "=IF(OR(R[0]C[-3]="""",R[0]C[-2]=""""),"""",R[0]C[-3]*3.14+1.2+R1C1)"
Cells(Zeile + 1, 5).FormulaR1C1 = strFormel
strFormel = "=CONCATENATE(R[0]C[-12],"" "",R[0]C[-10])"
Cells(Zeile + 1, 20).FormulaR1C1 = strFormel
Rows(Zeille + 1).Select
End Sub


Anzeige
AW: Zeile einfügen und dann die Formeln eintragen?
17.09.2008 11:48:00
Selma
Vielen Dank David !
Vielen Dank Franz !
LG,
Selma

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige