Heim > Artikel > Backend-Entwicklung > Können Excel-UDFs andere Zellen ändern?
Excel UDF: Einschränkungen bei der Array-Ausgabe überwinden
Excel User-Defined Functions (UDFs) geben normalerweise einen Skalarwert zurück, aber was wäre, wenn Sie Benötigen Sie eine UDF, um andere Zellen zu ändern? Dies stellt eine Herausforderung dar, da es UDFs ausdrücklich verboten ist, Zellen-, Arbeitsblatt- oder Arbeitsmappeneigenschaften zu ändern.
Ist das möglich?
Entgegen der landläufigen Meinung ist es möglich können diese Aufgabe nicht bewältigen, wenn auch durch eine komplexe Problemumgehung. Durch die Nutzung einer Kombination aus Windows-Timer und Application.OnTime-Timer können wir diese Einschränkungen umgehen.
Verstehen der Problemumgehung
Der Windows-Timer wird aus dem UDF heraus initiiert. Seine Funktion beschränkt sich jedoch auf die Planung eines Application.OnTime-Timers. Der von Excel genehmigte Application.OnTime-Timer wird nur dann sicher ausgeführt, wenn keine Zelle bearbeitet wird und keine Dialoge geöffnet sind.
Implementierung
Zur Implementierung dieser Problemumgehung , platzieren Sie den folgenden Code in einem regulären Modul:
[Code Goes Hier]
Detaillierte Erklärung
AddTwoNumbers UDF:
AfterUDFRoutine1:
AfterUDFRoutine2:
Fazit
Während Excel UDFs daran hindert, Zellen direkt zu ändern, bietet diese Problemumgehung eine Lösung. Durch die aufeinanderfolgende Verwendung eines Windows-Timers und eines Application.OnTime-Timers können Sie diese Einschränkungen überwinden und Ihrem UDF ermöglichen, Aktionen auszuführen, die sonst unmöglich wären.
Das obige ist der detaillierte Inhalt vonKönnen Excel-UDFs andere Zellen ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!