Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1848to1852
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

Autovervollständigung einer Formel

Autovervollständigung einer Formel
23.09.2021 10:07:03
stefniemller
Hi!
ich habe eine Tabelle mit ca 2800 Zeilen (jede zweite eine Leerzeile).
in den befüllten Zeilen steht in den Spalten 1-12 ein Messwert und in Spalte 14 der Mittelwert jeder der Zeilen
Mein Ziel ist es den Mittelwert von den Messwerten abzuziehen, um eine Abweichung zu errechnen (diese Abweichung soll dann in den Leerzeilen aufgeführt sein.)
Dazu bin ich wie folgt vorgegangen:
dim i as integer
dim lAnzZeilen as Long
lAnzZeilen=worksheets(1).usedRange.Rows.Count
With Worksheets(1)
For i=2 to lAnzZeilen Step 2
Range("A"&i).Select
ActiveCell.FormulaR1C1 = "=R[-1]C+.cells(14,i-1).value"
Range("A"&i).Select
Selection.Autofill Destination :=Range("A"&i&":L"&i)
Next i
End with
Der Fehler ist in der dickgeschriebenen Zeile mit Selection.Autofill
Dort liegt angeblich ein Syntaxfehler vor
Bin um jede Hilfe sehr dankbar!

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

Betreff
Datum
Anwender
Anzeige
AW: Autovervollständigung einer Formel
23.09.2021 10:13:03
Klaus
Hi Stef,
ungetestet, das sollte gehen:

Dim i As Integer
Dim lAnzZeilen As Long
lAnzZeilen = Worksheets(1).UsedRange.Rows.Count
With Worksheets(1)
For i = 2 To lAnzZeilen Step 2
Range("A" & i).FormulaR1C1 = "=R[-1]C+" & .Cells(14, i - 1).Value
Range("A" & i).AutoFill Destination:=Range("A" & i & ":L" & i)
Next i
End With
Deine Fehler: ein & beim Zellenbenzug vergessen, keine Leerzeichen vor den & Zeichen in Autofill.
Ich habe auch gleich die unnötigen Select raus genommen.
Anmerkung: Autofill ist sehr langsam, bei großen Bereichen solltest du eine andere Lösung suchen.
LG,
Klaus M.
Anzeige
AW: Autovervollständigung einer Formel
23.09.2021 10:15:09
Rudi
Hallo,
was soll das denn?

ActiveCell.FormulaR1C1 = "=R[-1]C+.cells(14,i-1).value"

AW: Autovervollständigung einer Formel
23.09.2021 10:29:45
Daniel
Hi
Der Fehler liegt meiner Ansicht nach schon zwei Zeilen drüber, beim Erstellen der Formel weil du ihr in der Formel eine VBA-Funktion (Cells) verwendest und das geht nicht.
(Außerdem hast du zusätzlich noch in dem Cells Zeilen mit Spalten vertauscht, die Zeile kommt zuerst)
Autofill braucht man in VBA nicht, man kann die Formel auch gleich in alle Zellen schreiben.
Wenn du schon die With-Klammer hast, solltest du sie im Code auch anwenden:

dim i as integer
dim lAnzZeilen as Long
With Worksheets(1)
lAnzZeilen=.usedRange.Rows.Count
For i=2 to lAnzZeilen Step 2
.Range("A" & i & ":L" & i).FormulaR1C1 = "=R[-1]C- R[-1]C14"
Next i
End with
Die Ursache für deinen Fehler in der AutoFill-Zeile ist, dass du das "&" zum Verketten von Texten immer mit einen Leerzeichen davor und danach vom Text oder der Variablen abtrennen musst.
Hat das "&" keinen Abstand, hat es eine ganz andere Funktion.
Gruß Daniel
Anzeige
AW: Autovervollständigung einer Formel
23.09.2021 10:56:01
Daniel
Hi
Noch ne alternative zu deinem Code, vielleicht etwas schneller:

Worksheets(1).Columns(1).Specialcells(xlcelltypeconstants, 1).Offset(1, 0).Resize(, 12).FormulaR1C1 = "=R[-1]C-R[-1]C14"
Gruß Daniel
Korrektur
23.09.2021 11:27:08
Daniel
ganz so einfach geht's leider nicht, aber so:

With Worksheets(1)
Intersect(.Range("A:L"), .Columns(1).SpecialCells(xlcelltypeconstants, 1).EntireRow).FormulaR1C1 = "=R[-1]C-R[-1]C14"
End With
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige