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

Makro Formel Bezüge

Makro Formel Bezüge
Thomas
Hallo Forum,
Ich bin verzweifelt und komme mit meinem Projekt einfach nicht weiter und suche nun hier nach einer Lösung.
Für jede Idee oder Anregung bin ich natürlich sehr dankbar.
Problem: Ich habe in einer Datei 2 Blätter.
Blatt 1 gibt ab Spalte F20, F21, F22 usw. bestimmte Werte wieder. Die Anzahl der Einträge kann varieren, also manchmal habe ich nur 3 Werte (F20-F22) es kann aber auch XY-viele Einträge geben. Am Ende der Einträge kommt immer eine Leerzeile gefolgt von er Zelle mit der Summe.
Bsp. F20=5 , F21=10, F22=5, F23=Leer, F24=20.
In meinem Blatt 2 werden diese Werte nun ab Zelle H27 wiedergegeben und per Makro möchte ich nun folgendes erreichen:
Er soll mir immer in Zelle H27 folgende Formel schreiben: Summenwert aus Blatt 1 (also im Beispiel F24) MINUS die Summe aller restlichen Einträge im Blatt 2 (im Beispiel also H28:H29).
Ich habe schon alles Versucht aber es zerhaut mit immer wieder die Bezüge bei meinem Makro da die Anzahl der Einträge variieren kann. Kann mir jemand bei diesem Marko helfen?
Vielen Dank!

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro Formel Bezüge
16.07.2010 04:32:51
fcs
Hallo Thomas,
so sollte es funktionieren.
Gruß
Franz
Sub SummenFormelBlatt2()
Dim wks1 As Worksheet, wks2 As Worksheet, Zelle As Range
Dim sZelle1 As String, sBereich2
'Namen der Tabellenblätter ggf. anpassen
Set wks1 = Worksheets("Tabelle1")
Set wks2 = Worksheets("Tabelle2")
With wks1
Set Zelle = .Range("F20") 'Startzelle Blatt 1
'Prüfen, ob Zelle unterhalb Startzelle leer ist
If IsEmpty(Zelle.Offset(1, 0)) Then
'In Zelle F22 steht die Summe
Set Zelle = Zelle.Offset(2, 0)
Else
'Zelle mit Summe = 2 Zeilen unterhlb der letzte Zelle mit Wert _
unterhalb der Startzelle
Set Zelle = Zelle.End(xlDown).Offset(2, 0)
End If
'Blattname mit Zelladresse für Formel _
(Hochkommata erforderlich für Tabellennamen mit Leer- oder Sonderzeichen)
sZelle1 = "'" & .Name & "'!" & Zelle.Address(ReferenceStyle:=xlR1C1)
End With
With wks2
Set Zelle = .Range("H28") 'Startzelle des Bereichs im Blatt 2
'1. Zelle des Bereiches für SUMME-Funktion
sBereich2 = Zelle.Address(ReferenceStyle:=xlR1C1)
'Prüfen, ob Zelle unterhalb Startzelle leer ist
If IsEmpty(Zelle.Offset(1, 0)) Then
'Es gibt nur einen Wert auf Blatt 2
Else
'Letzte Zelle mit Wert unterhalb der Startzelle ermitteln
Set Zelle = Zelle.End(xlDown)
End If
'Bereichs-Adresse um letzteZelle ergänzen
sBereich2 = sBereich2 & ":" & Zelle.Address(ReferenceStyle:=xlR1C1)
'Formel in Blatt 2, Zelle H27 eintragen
.Range("H27").FormulaR1C1 = "=" & sZelle1 & "-SUM(" & sBereich2 & ")"
End With
End Sub

Anzeige
AW: Makro Formel Bezüge
16.07.2010 22:30:54
Thomas
Hallo Franz,
Unglaublich! Es funzt!
Vielen Vielen DANK!!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige