wake-up-neo.com

Setzen Sie die Formel auf einen Zellbereich

dies ist eine einfache Demo von dem, was ich tun möchte. Ich möchte eine Formel auf einen Zellbereich setzen (z. B. C1 bis C10).

Range("C1").Formula = "=A1+B1"

aber wie man Formel dazu bringt, dynamische Zellen wie folgt zu verwenden:

Range("C1:C10").Formula = "=Ax+Bx"

in Wirklichkeit ist es so,

C1 = A1 + B1
C2 = A2 + B2
C3 = A3 + B3
C4 = A4 + B4
C5 = A5 + B5
...
C10 = A10 + B10

so ändern Sie die RHS-Werte dieser Formel, damit sie oben funktionieren: Range("C1:C10").Formula = "=Ax+Bx"

16
Vpp Man

Ich würde die Formel in C1 aktualisieren. Dann kopiere die Formel von C1 und füge sie bis C10 ein ...

Nicht sicher über eine elegantere Lösung

Range("C1").Formula = "=A1+B1"
Range("C1").Copy
Range("C1:C10").Pastespecial(XlPasteall)
10
The King
Range("C1:C10").Formula = "=A1+B1"

So einfach ist das.

Er füllt den Bereich automatisch mit der Formel (FillDown).

39
neilxdims

Ich denke, das ist die einfachste mögliche Antwort: 2 Zeilen und sehr verständlich. Es emuliert die Funktion, eine in eine Zelle geschriebene Formel über einen Zellbereich zu ziehen.

Range("C1").Formula = "=A1+B1"
Range("C1:C10").FillDown
8
Baumann

Verwenden Sie FormulaR1C1:

Cells((1,3),(10,3)).FormulaR1C1 = "=RC[-2]+RC[-1]"

Im Gegensatz zu Formula hat FormulaR1C1 eine relative Referenzierung.

7
user2626806

Benutze das 

            Sub calc()


            Range("C1:C10").FormulaR1C1 = "=(R10C1+R10C2)"


            End Sub
0
Suyog Patil

Wenn Sie versuchen, eine Spalte auszufüllen, können Sie dies in Excel 2010 mit einem einzigen Tastaturbefehl ausführen:

  1. Legen Sie die Formel der obersten linken Zelle fest
  2. Wählen Sie den gesamten Bereich aus
  3. Drücken Sie Strg-d

Strg-D füllt entweder eine ausgewählte Zeile oder ein ausgewähltes Array oder eine ausgewählte Spalte aus. Die relative Referenzierung wird angewendet.

0
Kelly Kochanski