Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1008to1012
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige