Man kann feste Verweise auch anders erzeugen, ...
28.06.2019 01:37:54
Luc:-?
…SVB,
aber ebenfalls mit VBA. Auch hier könnte eine Methode eingesetzt wdn, die sonst u.a. für eine selbstkorrigierende EingabeZelle verwendet wdn kann. Da es sich hierbei ebenfalls um eine physische Entkopplung von veranlassender Fkt in einer ZellFml (UDF) und dem eigentlichen Ausführungsteil handelt, fktioniert das. Dieser Effekt wurde zuerst im Zusammenhang mit der Xl-Fkt HYPERLINK festgestellt, die aber eigentlich nicht benötigt wird und folglich durch die zielgerichtetere UDF ersetzt wird. Da Fktt in ZellFmln normalerweise die Änderung anderer Zelle und von Formaten untersagt ist, sollte man das Folgende sparsam einsetzen, obwohl es durchaus möglich ist, mehrere dieser Fmln auf einem Blatt bzw in einer Mappe zu verwenden. Es muss nur dafür gesorgt wdn, dass die ÜbernahmeFml (mit der UDF) nicht unnötig ausgelöst wird. Dazu kann auch die Verbindung der jeweils 3 benötigten Zellen beitragen. Die Fml-Zellen wdn dadurch bedingt geschützt und können nur noch gelöscht wdn (alle, mit der LöschTaste). Um die Rechnung zu wiederholen, darf dann nur der in der EditZeile sichtbare Inhalt durch Markieren und Löschen entfernt wdn. Sollen die andere Fml oder der transportierte Wert geändert wdn, muss der ZellVerbund vorübergehend aufgelöst wdn (Warnung kann ignoriert wdn)! Die VerbundZelle muss durch Übertragung des Formats einer MusterVerbundZelle (FormatPinsel!) gebildet wdn!
Auflistung:
A1 allgemeiner Teil des VerweisTextes → 'pfad\[#]blatt'!zelle
(ggf mit =ZELLE("dateiname") bzw =ZELLE("dateiname";zelle) ermittelt)
A2ff die (hier vollständigen) relevanten Dateinamen
VerbundZelle (oder 3 beliebig positionierte EinzelZellen, hier für den 1.Dateinamen)
1.Zelle: hier E2, ursprünglich leer
2.Zelle: hier F2, Übernahme-Fml =WENN(E2="";SendTo(E2;G2;1))
3.Zelle: hier G2, VerweisText-Bereitstell-Fml =WECHSELN(A$1;"#";A2)
(A2 kann natürlich durch eine Fml ersetzt wdn, die einen bestimmten Namen aus der Auflistung auswählt.)
Die UDF SendTo und ihre per vbMethode Evaluate physisch entkoppelte Hilfsprozedur Sent wdn in einem allgemeinen Modul (ggf auch eines aktiven AddIns) angelegt:
Option Explicit
Dim actState As Boolean
Rem Senden von ZellInhalt per ZellFml an andere Zelle
' Vs2.2 -LSr -cd:20170202(Neufass) -1pub:20170202h -lupd:20190627t
Function SendTo(ZBereich, QBereich, Optional alsFormel As Boolean) As Boolean
actState = TypeName(ZBereich) = "Range" And TypeName(QBereich) = "Range"
If actState Then
If alsFormel Then
Evaluate "Sent(" & QBereich.Address & "," & ZBereich.Address & ",True)"
Else: Evaluate "Sent(" & QBereich.Address & "," & ZBereich.Address & ")"
End If
End If
SendTo = actState
End Function
Rem HilfsProzedur zur UDF SendTo
' Vs2.2 -LSr -cd:20170202(Neufass) -1pub:20170202h -lupd:20190627t
Private Sub Sent(Von As Range, Nach As Range, Optional alsFormel As Boolean)
On Error GoTo fx
actState = Not (Von Is Nothing Or Nach Is Nothing)
If actState Then
If Nach.MergeCells Then Set Nach = Nach.MergeArea.Cells(1)
If alsFormel Then
Nach.FormulaLocal = "=" & Von: SendKeys "{F9}"
Else: Nach = Von
End If
Exit Sub
End If
fx: actState = False
End Sub
Morhn, Luc :-?
Der beste Beweis für intelligentes Leben im Universum ist, dass noch niemand versucht hat, Kontakt mit uns aufzunehmen. H.Lesch, 2018, Sonneberg
Deshalb Intelligenz steigern mit