Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
412to416
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
412to416
412to416
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formel in VBA mit absoluter zellangabe

Formel in VBA mit absoluter zellangabe
17.04.2004 00:48:59
Daniel
hey Leute,
hab folgendes Problem. Möchte in VBA eine Summenformel erstellen welche aus zwei teilen besteht. Zunächst sollen die Zellen oberhalb der Formelzelle addiert werden, dann soll diese Summe mit der Summe aller Zellen links davon ab der E Spalte addiert werden. Das Problem ist das ich nicht weiss wie ich das in VBA machen kann...
Vielen Dank für jegliche Hilfe

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel in VBA mit absoluter zellangabe
17.04.2004 07:41:55
Oberschlumpf
Hi Daniel
Benutz doch den Makrorecorder.
1. Wähle die Zelle aus, in der das Ergebnis der Summenberechnung stehen soll.
2. Klick auf Extra/Makro/Aufzeichnen
3. Gib über die Tastatur dies ein:
=Summe(
4. Markiere genau DIE Zellen, deren Summe berechnet werden sollen
Zuerst den ersten Bereich, dann STRG-Taste drücken und den zweiten Zellenbereich markieren
5. Gib als Abschluss die schließende Klammer ")" über die Tastatur ein.
6. Beende den Makrorecorder
Fertig
Den so erstellten Quellcode kannst Du Dir im VBA-Editor ansehen, den Du über Alt-F11 öffnen kannst.
Konnte ich helfen?
Ciao
Thorsten
Anzeige
AW: Formel in VBA mit absoluter zellangabe
17.04.2004 07:50:49
andre
hallo daniel,
probier's mal so:


Function SummeObenUndRechts()
Dim Zeile As Long, Spalte As Integer
Dim SummeOben, SummeRechts
  Application.Volatile
  Zeile = Application.Caller.Row
  Spalte = Application.Caller.Column
  If Zeile > 1 Then
    SummeOben = WorksheetFunction.Sum(Range(Cells(1, Spalte), Cells(Zeile - 1, Spalte)))
  End If
  If Spalte < 256 Then
    SummeRechts = WorksheetFunction.Sum(Range(Cells(Zeile, Spalte + 1), Cells(Zeile, 256)))
  End If
  SummeObenUndRechts = SummeOben + SummeRechts
End Function

     Code eingefügt mit Syntaxhighlighter 2.5

gruss andre
Anzeige
AW: Formel in VBA mit absoluter zellangabe
17.04.2004 14:11:32
Daniel
danke für deine Antwort,
leiter brauch ich dass eine eigenliche Formel in VBA erstellt wird, nicht nur die Summe gebildet. Den code des Macrorecorders kann ich nicht nehmen weil, dieser die FormelR1C1 benützt und mit dieser Formel keine absoluten Zellangaben möglich sind. Also um mich ein wenig klarer auszudrücken:
Bilde die Summe: 1) aller anliegenden Zellen oberhalb einer bestimmten Zelle
2) addiere dazu die Summe aller Zellen links von der bestimmten Zelle ab Spalte E (absolute angabe)

Und die Formel die das richtige Resultat liefert soll dann in der bestimmten Zelle wenn angeklickt erscheinen.
nochmals Danke :)
Daniel
Anzeige
AW: Formel in VBA mit absoluter zellangabe
17.04.2004 17:55:48
Josef Ehrensberger
Hallo Daniel!
Dieses Makro sollte es tun!
Option Explicit

Sub SummenFormelSpezial()
Dim rng As Range
Dim strTop As String
Dim strLeft As String
Dim strSemi As String
Set rng = ActiveCell
If rng.Row > 1 Then
strTop = Range(Cells(1, rng.Column), Cells(rng.Row - 1, rng.Column)).Address
End If
If rng.Column > 1 Then
strLeft = Range(Cells(rng.Row, 1), Cells(rng.Row, rng.Column - 1)).Address
End If
If strTop <> "" And strLeft <> "" Then strSemi = ";"
rng.FormulaLocal = "=SUMME(" & strTop & strSemi & strLeft & ")"
End Sub

Code eingefügt mit: Excel Code Jeanie
Gruß Sepp
Anzeige
und so ab Spalte "E"
17.04.2004 18:23:10
Josef Ehrensberger
Hallo Daniel!
Du wolltest ja die Summe ab Spalte "E"!

Sub SummenFormelSpezialabSpalteE()
Dim rng As Range
Dim strTop As String
Dim strLeft As String
Dim strSemi As String
Set rng = ActiveCell
If rng.Column > 5 Then
strLeft = Range(Cells(rng.Row, 5), Cells(rng.Row, rng.Column - 1)).Address
Else
Exit Sub
End If
If rng.Row > 1 Then
strTop = Range(Cells(1, rng.Column), Cells(rng.Row - 1, rng.Column)).Address
End If
If strTop <> "" And strLeft <> "" Then strSemi = ";"
rng.FormulaLocal = "=SUMME(" & strTop & strSemi & strLeft & ")"
End Sub

Code eingefügt mit: Excel Code Jeanie
Gruß Sepp
Anzeige
DANKE!! :)
18.04.2004 21:20:02
Daniel
danke!

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige