Excel: 2 Zellen über "Diese Arbeitsmappe" subtrahieren?

3 Antworten

Für die arbeitsblattübergreifende, zeilenweise Addition schlage ich folgenden Code vor:

Sub SumOverSheets()
 Dim i As Integer
 Dim ws As Worksheet
 For Each ws In Worksheets
  If ws.Name <> "Summe" Then
   i = 1
   While ws.Range("A" & i).Value <> "" And ws.Range("B" & i).Value <> 0
    ws.Range("C" & i) = ws.Range("A" & i) + ws.Range("B" & i)
    i = i + 1
   Wend
  End If
 Next
End Sub
Woher ich das weiß:Studium / Ausbildung – Mathematik
nnamrestuMxaM 
Fragesteller
 06.12.2019, 13:57

Das muss nicht für jedes Arbeitsblatt, bzw. ich brauch ne Formel die ich auf jedes Arbeitsblatt anpassen kann, da sich die jeweiligen Spalten was subtrahiert oder addiert werden muss unterscheiden. Also aus Zeile 1 soll C=A-B und das fortlaufend für alle Zeilen also Zeile 2 C=A-B....

1
nnamrestuMxaM 
Fragesteller
 06.12.2019, 14:19

Das funktioniert leider nicht.

1

Was soll nun etwa in C1 stehen? A1-B1? Oder Summe(A:A)-Summe(B:B)? oder noch etwas Anderes?

nnamrestuMxaM 
Fragesteller
 06.12.2019, 13:46

Also aus Zeile 1 soll C=A-B
Und das fortlaufend für alle Zeilen also Zeile 2 C=A-B....
Aber über VBA Arbeitsmappe

1
gfntom  06.12.2019, 13:51
@nnamrestuMxaM

A und B sind Spaltenbezeichnungen, keine Zellenbezeichnungen.

Deshalb schrieb ich C1: =A1-B1.

Wenn du das meinst, warum schreibst du das dann nicht, sondern statt dessen wieder das nichteindeutige "A-B"?

Wenn jemand das Antworten so absichtlich erschwert, bin ich hier raus...

1

??? wie willst du spalten voneinander abziehen?

meinst du die jeweiligen summen? oder zeile für zeile und ergebnis in spalte c?

Suboptimierer  06.12.2019, 12:40

Und für alle Tabelleblätter einzeln oder eine Summe über alle Tabellenblätter?

2
nnamrestuMxaM 
Fragesteller
 06.12.2019, 13:48

Für eine Tabelle, Zeile für Zeile

1