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

Nochmals: UDFs in einer nicht aktiven Datei

Nochmals: UDFs in einer nicht aktiven Datei
Peter
Guten Tag
Gestern hat mir Hajo schon bei einem ähnlichen Problem geholfen.
Aktueller SAchverkhalt:
1. die UDF berechnet mir in der Tabelle abc.xls den richtigen Wert.
2. abc.xls beibt offen; ich öffne zusätzlich Tabelle def.xls und trage dort einen Wert ein (Berechnung wird automatisch aktualisiert)
3. ich kehre zurück in abc.xls; dort wo mir vorhin die UDF den richtigen Wert geliefert hat, steht jetzt als Ergebnis #WERT (nach dem Aktualsieren erhalte ich wieder das richtige Ergebnis).
Was muss ich bei meiner
Function SummeWennTabellen anpassen, dass keine Wertanpassung erfolgt, wenn eine andere Datei _
aktiv ist? Mein Egänzung mit With ThisWorkbook : ...... End With haben nicht das gewünschte Ergebnis ergeben.
Gruss, Peter

Function SummeWennTabellen(Tab1 As String, _
Tab2 As String, _
Bereich As Range, _
Suchkriterium As String, _
Optional Summe_Bereich As Range) As Double
'Funktion zur Anwendung von SUMMEWENN() über mehrere Tabellenblätter
'Mit angegeben werden die Tabellenblattnamen von...bis,
'sowie die üblichen Parameter für SUMMEWENN()
'Zur automatischen Aktualisierung im Tabellenblatt den folgenden Term
'anhängen: +(0*JETZT()) und F9 drücken um zu aktualisieren
'Also z.B. wie folgt: SummeWennTabellen("Tab1";"Tab8";A1:A10;A1;B1:B10)+(0*JETZT())
Dim intI            As Integer
Dim intJ            As Integer
Dim intTab          As Integer
Dim Summe           As Double
With ThisWorkbook
If Suchkriterium = "" Then
SummeWennTabellen = 0
Exit Function
End If
If Summe_Bereich Is Nothing Then Set Summe_Bereich = Bereich
intI = .Worksheets(Tab1).Index
intJ = .Worksheets(Tab2).Index
For intTab = intI To intJ
Set Bereich = .Worksheets(intTab) _
.Range(Bereich.Address)
Set Summe_Bereich = .Worksheets(intTab). _
Range(Summe_Bereich.Address)
Summe = Summe + Application.WorksheetFunction.SumIf _
(Bereich, Suchkriterium, Summe_Bereich)
Next intTab
SummeWennTabellen = Summe
End With
End Function

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

Betreff
Benutzer
Anzeige
AW: Nochmals: UDFs in einer nicht aktiven Datei
04.04.2012 14:11:15
fcs
Hallo Peter,
statt
With ThisWorkbook
verwende
With Bereich.Parent.Parent
Gruß
Franz
AW: Nochmals: UDFs in einer nicht aktiven Datei
04.04.2012 22:00:43
Peter
Hallo Franz
Das hat das Problem behoben.
Vielen Dank!
Gruss, Peter
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige