Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1796to1800
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

Eigene Formeln in VBA für Arbeitsblatt

Eigene Formeln in VBA für Arbeitsblatt
04.12.2020 17:05:13
Zahnonen
Hallo,
ich habe in einer Excel-2010-Anwendung zwei Arbeitsmappen mit jeweils einem Arbeitsblatt mit jeweils derselben Formel in einer Zelle.
AM1, Zelle: "=MupDbTitel(zelle("dateiname"))" mit Titel "Titel1" (BuiltinDocumentPropertie von AM1)
AM2, Zelle: "=MupDbTitel(zelle("dateiname"))" mit Titel "Titel2" (BuiltinDocumentPropertie von AM2)
Die Formel läuft als permanent eingebundenes AddIn (xla-Datei):

Public Function MupDbTitel(Optional ByRef sName As String) As String
Application.Volatile True
MupDbTitel = Workbooks(mdlProg.GetWorkBookNameByFullPath(sName)).BuiltinDocumentProperties.   _
_
_
_
Item("Title").Value
End Function
Public Function GetWorkBookNameByFullPath(ByVal sFullPath As String) As String
Dim v1, v2 As Variant
v1 = Split(sFullPath, "[")
If UBound(v1) > 0 Then
v2 = Split(v1(1), "]")
If UBound(v2) > 0 Then
GetWorkBookNameByFullPath = v2(0)
End If
End If
End Function

Das Problem:
Löst man nun für das Arbeitsblatt in AM1 eine Berechnung aus, wird das andere Arbeitsblatt von AM2 ebenfalls berechnet. Das wäre nicht schlimm, wenn da nicht die Zelle in AM2 den Wert von AM1 (Titel1) erhalten würde.
Was kann ich tun, um eine unabhängige Berechnug zu erhalten? Sodass in jeder AM der zu ihr gehörige Titel ausgegeben wird?

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

Betreff
Datum
Anwender
Anzeige
AW: Eigene Formeln in VBA für Arbeitsblatt
04.12.2020 17:40:46
onur
Und wofür GENAU ist diese Funktion gut bzw was GENAU soll sie machen (wenn sie denn korrekt funktioneren würde)?
Was GENAU steht in den beiden Zellen?
AW: Eigene Formeln in VBA für Arbeitsblatt
05.12.2020 23:47:57
Yal
Hallo Zahnonen,
... umständlich. Warum einen String aus einer Tabellenformel in "ByRef"-Modus übergeben?
Eigentlich brauchst Du nur eine Zelle in der Tabelle, wo die Formel eingesetzt wurde:
Public Function Dateipfad(Target As Range) As String
Dim Ws As Worksheet
Dim Wb As Workbook
Set Ws = Target.Parent
Set Wb = Ws.Parent
Dateipfad = Wb.Path & "\" & Wb.Name
End Function
Die Variablen Ws und Wb habe ich nur fürs Debugging reingemacht.
Am kürzesten wäre:
Public Function Dateipfad(Target As Range) As String
With Target.Parent.Parent
Dateipfad = .Path & "\" & .Name
End With
End Function

Dann mit
=Dateipfad(A1)
Abrufen.
Viel Erfolg
Yal
Anzeige
AW: Eigene Formeln in VBA für Arbeitsblatt
06.12.2020 00:11:18
onur
Ist es denn SOOO schwer, die Forum-Software zu "bedienen" ?
Warum antwortest du mir und nicht dem Hilfesuchenden ?
Ja. Da hast Du recht. oT
07.12.2020 08:33:13
Yal
AW: Eigene Formeln in VBA für Arbeitsblatt
07.12.2020 10:12:20
Zahnonen
Hallo, danke für eure Antworten.
Der Dreh- und Angelpunkt sind die BuiltinDocumentProperties, welche in einzelnen Zellen ausgegeben werden sollen: Titel, Keywords, Subject etc.
Um das zu realisieren, habe ich eigene Formeln in VBA erstellt und in einer von allen Arbeitsmappen genutzten AddIn-Datei (*.xla) gespeichert.
Das Problem liegt in der Art und Weise der Berechnung (Worksheet.Calculate). Sind zwei Arbeitsmappen in einer Anwendungsinstanz geöffnet und enthalten jeweils die gleiche Formel, dann gibt Excel in beiden Mappen die BuiltinDocumentProperties der berechneten Mappe aus.
Anzeige
AW: Eigene Formeln in VBA für Arbeitsblatt
07.12.2020 11:05:14
Zahnonen
Ja, ich habe es mir nochmal genauer überlegt, was du meinst, Yal:

Public Function MupDbTitel(Target As Range) As String
Application.Volatile True
MupDbTitel = Workbooks(Target.Parent.Parent.Name).BuiltinDocumentProperties.Item("Title"). _
Value
End Function
Danke dir!
Warum nun beide Mappen berechnet werden, obwohl ich nur ein Arbeitsblatt berechnen lasse, weiß ich nicht...

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige