Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Summenfunktion für anderes Tabellenblatt

Summenfunktion für anderes Tabellenblatt
Martin
Hallo! Ich scheitere an einem vermutlich sehr einfachen Problem: Ich möchte einen Wert durch eine Summe teilen, der Wert und die Summe sollen dann immer 2 Spalten weitergehen. Alle Daten befinden sich in dem Tabellenblatt ("HYPF") und das Ergebnis soll in dem Tabellenblatt "Hilfstabellen" wiedergegeben werden.
Konkret soll als erstes der Wert in Zelle(82, 3) durch die Summe der Zellen(82, 3) bis (92,3) geteilt werden. Als nächstes dann für die Werte in den Spalten 5, 7, 9 usw....
Hier ist der Code, wobei keine Fehlermeldung kommt aber die ausgespuckten Werte leider nicht stimmen:
Sub Hilfstabellen()
Dim j As Integer
Dim ws_HYPF As Worksheet
Dim ws_OEPF As Worksheet
Dim wb_Deckungsstockvergleich As Workbook
Dim ws_Hilfstabellen As Worksheet
Set ws_Hilfstabellen = ThisWorkbook.Sheets("Hilfstabellen")
'Regionale Verteilung HYPF
Set ws_HYPF = ActiveWorkbook.Sheets("HYPF")
For j = 1 To 11
ws_Hilfstabellen.Cells(10, j + 2) = ws_HYPF.Cells(82, j * 2 + 1) / Application. _
WorksheetFunction.Sum(ws_HYPF.Cells(82, j * 2 + 1), ws_HYPF.Cells(92, j * 2 + 1))
'das Forum verteilt die letzte Zeile komischerweise auf 2 Zeilen, ist aber in VBA  _
zusammengeschrieben
Next j
End Sub

Vielen Dank für jeden Input!!
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Summenfunktion für anderes Tabellenblatt
05.03.2010 18:40:26
BoskoBiati
Hallo,
aus dem Stegreif würde ich mal sagen, das es so aussehen müsste:
Sum(Range(ws_HYPF.Cells(82, j * 2 + 1), ws_HYPF.Cells(92, j * 2 + 1)))
Gruß
Bosko
AW: Summenfunktion für anderes Tabellenblatt
05.03.2010 18:42:12
Josef

Hallo Martin,
in deiner Summenfunktion Summierst du ja nur zwei Zellen und nicht den Bereich zwischen diesen.

Sub Hilfstabellen()
  
  Dim j As Integer
  
  Dim ws_HYPF As Worksheet
  Dim ws_OEPF As Worksheet
  Dim wb_Deckungsstockvergleich As Workbook
  Dim ws_Hilfstabellen As Worksheet
  
  Set ws_Hilfstabellen = ThisWorkbook.Sheets("Hilfstabellen")
  
  'Regionale Verteilung HYPF
  Set ws_HYPF = ActiveWorkbook.Sheets("HYPF")
  
  With ws_Hilfstabellen
    For j = 1 To 11
      ws_Hilfstabellen.Cells(10, j + 2) = .Cells(82, j * 2 + 1) / _
        Application.WorksheetFunction.Sum(.Range(.Cells(82, j * 2 + 1), .Cells(92, _
        j * 2 + 1)))
    Next j
  End With
  
End Sub

Gruß Sepp

Anzeige
Sorry, sollte With wsHYPF heißen! o.T.
05.03.2010 18:45:45
Josef
Gruß Sepp

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Summenfunktion für anderes Tabellenblatt


Schritt-für-Schritt-Anleitung

Um eine Summe aus einem anderen Tabellenblatt in Excel zu übertragen, kannst du die folgende VBA-Prozedur verwenden. In diesem Beispiel wird ein Wert aus dem Tabellenblatt "HYPF" genommen und durch die Summe eines bestimmten Bereichs geteilt, die ebenfalls in "HYPF" liegt.

  1. Öffne dein Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge einen neuen Modul ein, indem du mit der rechten Maustaste auf "VBAProject" klickst, dann "Einfügen" und "Modul" wählst.
  3. Kopiere und füge den folgenden Code ein:
Sub Hilfstabellen()
    Dim j As Integer
    Dim ws_HYPF As Worksheet
    Dim ws_Hilfstabellen As Worksheet

    Set ws_Hilfstabellen = ThisWorkbook.Sheets("Hilfstabellen")
    Set ws_HYPF = ThisWorkbook.Sheets("HYPF")

    With ws_Hilfstabellen
        For j = 1 To 11
            .Cells(10, j + 2) = ws_HYPF.Cells(82, j * 2 + 1) / _
            Application.WorksheetFunction.Sum(ws_HYPF.Range(ws_HYPF.Cells(82, j * 2 + 1), ws_HYPF.Cells(92, j * 2 + 1)))
        Next j
    End With
End Sub
  1. Schließe den VBA-Editor und führe die Prozedur aus, um die Summe aus einem anderen Tabellenblatt zu übertragen.

Häufige Fehler und Lösungen

  • Fehler: "Typen unverträglich"

    • Lösung: Überprüfe, ob die Zellen, die du summierst, tatsächlich Zahlen enthalten und ob der Bereich korrekt angegeben ist.
  • Fehler: Falsche Ergebnisse

    • Lösung: Stelle sicher, dass du den gesamten Bereich summierst. Verwende .Range(...), um die Summe korrekt zu berechnen.
  • Fehler: "Das angegebene Blatt existiert nicht"

    • Lösung: Überprüfe die Schreibweise der Blattnamen in deinem Code. Diese müssen exakt mit den Namen in der Excel-Datei übereinstimmen.

Alternative Methoden

Wenn du keine VBA-Lösung verwenden möchtest, kannst du auch die SUMME-Funktion direkt in einer Zelle verwenden:

=HYPERLINK("#HYPF!C82", HYPF!C82) / SUMME(HYPF!C82:HYPF!C92)

Diese Formel teilt den Wert in Zelle C82 des Blattes "HYPF" durch die Summe der Zellen von C82 bis C92 im selben Blatt.


Praktische Beispiele

Angenommen, du möchtest die Summe aus einem anderen Tabellenblatt verwenden, um die Werte zu analysieren. Beispiel:

  • In "HYPF" befinden sich die Werte in den Zellen C82 bis C92.
  • In "Hilfstabellen" möchtest du die Ergebnisse ab Zelle C10 ausgeben.

Verwende den oben angegebenen VBA-Code, um die Werte automatisch zu berechnen.


Tipps für Profis

  • Nutze die Namensmanager-Funktion in Excel, um Bereiche zu benennen und einfacher darauf zuzugreifen.
  • Teste immer deine VBA-Skripte in einer Kopie deiner Excel-Datei, um Datenverlust zu vermeiden.
  • Verwende die Option Explicit-Anweisung am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind.

FAQ: Häufige Fragen

1. Wie kann ich eine Summe aus mehreren Tabellenblättern zusammenfassen?
Du kannst die SUMME-Funktion mit einem Bereich von Blättern verwenden, z.B. =SUMME(Tabelle1:Tabelle3!A1).

2. Was mache ich, wenn ich keine VBA-Kenntnisse habe?
Du kannst die SUMME-Funktion direkt in Excel verwenden, um Werte aus anderen Blättern zu addieren, ohne VBA zu nutzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige