Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Excel 2007 Global verfügbare Funktion erstellen

Frage Microsoft Microsoft Office

Mitglied: MartinAD

MartinAD (Level 1) - Jetzt verbinden

26.06.2008, aktualisiert 27.06.2008, 15849 Aufrufe, 7 Kommentare, 1 Danke

Hallo an die Community,

ich habe eine Frage und hoffe das mir ein Excel-Kenner weiterhelfen kann .



Situation ist folgende.

Ich habe in meine bestehende Excel 2007 Datei eine Funktion eingebaut. Diese existiert als public definierte function in einem bas-modul, das ich im VBA Editor mit Excel 2007 erstellt habe.
Wenn der Benutzer in der Excel Datei nun die Funktionseingabe mit "=" in einer Zelle startet, taucht meine Funktion in der Liste auf und ich kann sie verwenden.



Problem ist folgendes:

Ich möchte diese Funktion für sämtliche Excel 2007 Dateien zumindest auf dem selben Computer verfügbar machen. Das heißt: einer neu erstellten oder bestehenden Excel Datei soll diese Funktion verfügbar sein.
Ich habe bereits probiert diese Funktion über Add-Ins einzubauen, was nicht funktioniert hat. Ich habe auch bereits versucht die Excel-Datei im XLSTART Verzeichnis zu platzieren, damit die Funktion immer geladen wird wenn sich Excel öffnet. Das hat auch nicht geklappt, da sich dann immer auch die Excel-Datei mit dem Makro öffnet.




Kennt jemand das Problem und hat einen Denkanstoss für mich?

Vielen Dank im Voraus, beste Grüsse
Martin
Mitglied: hpbruns
26.06.2008 um 14:26 Uhr
Hallo Martin

Du kannst Makros/Funktionen in einer "Persönlichen" Arbeitsmappe speichern. Diese wird unter dem Namen "PERSONAL.XLSB" im Vereichniss C:\Dokumente und Einstellungen\USER\Anwendungsdaten\Microsoft\Excel\XLSTART abgelegt. Am einfachsten läßt Du Dir ein Macro aufzeichnen und wählst als Speicherort die Persönliche Mappe aus.

Gruß

Hans-Peter
Bitte warten ..
Mitglied: bastla
26.06.2008 um 14:37 Uhr
Hallo MartinAD und willkommen im Forum!

Ob der hier beschriebene Weg über ein Add-In auch in Excel2007 noch funktioniert, müsstest Du selbst ausprobieren (habe kein 2007er zur Hand; mit 2003 klappt's).

Der Nachteil der Methode mit einer automatisch gestarteten Mappe (sei es "PERSONL.XLS" oder die Variante mit dem "XLSTART"-Verzeichnis) ist, dass Du für die Verwendung der Funktion auch den Namen der Mappe mit angeben müsstest (ist zumindest bis zu Excel2003 so); ansonsten könntest Du das störende Fenster (analog zur "PERSONL.XLS") einfach ausblenden.

Grüße
bastla
Bitte warten ..
Mitglied: MartinAD
26.06.2008 um 14:39 Uhr
Hallo Hans-Peter,

danke erstmal für die Antwort.

Ich habe das auch gleich versucht, leider nicht mit dem gewünschten Erfolg.
Das Ergebnis ist gleich mit dem Speichern der Datei unter c:\Programme\MS Office\XLSTART.

Wenn ich eine bestehende Excel Datei Öffne, dann wird 1. die Datei Personal.XLSB geöffnet und 2. zusätzlich die Datei die ich eigentlich öffnen wollte. Ich habe also immer 2 geöffnete Dateien, was ich nicht will.

Habe ich was falsch gemacht?

Danke + Gruss
Martin

EDIT:

Hallo bastla,

leider bringt die Methode wie eben beschrieben nicht den gewünschtn Erfolg, vllt. mache ich auch etwas falsch. Die Funktion lässt sich übrigens ohne angabe des Dateinamens starten (wenn die Makro-Datei zusätzlich geöffnet ist, was ich aber nicht will), wahrscheinlich weil sie "public" definiert wurde.

Mit einem Add-In habe ich es schon probiert, mein Add-In konnte ich auch einbinden, aber trotzdem steht die Funktion nicht zur Verfügung. Ich weis ehrlich gesagt auch nicht warum.
Bitte warten ..
Mitglied: bastla
26.06.2008 um 14:46 Uhr
Hallo MartinAD!

In 2003 gibt es den Menüpunkt "Fenster / Ausblenden", welcher dafür sorgt, dass zB die "PERSONL.XLS" (wie die "PERSONAL.XLSB" in dieser Version noch heißt) "unsichtbar" geöffnet wird. Das "Ausblenden" bezieht sich dabei immer auf das gerade aktive Excel-Fenster.

[Edit] Nur der Vollständigkeit halber: Bis 2003 genügt auch die Deklaration der Function als "Public" nicht - es muss (außer bei der Variante "Add-In") immer die Schreibweise "Dateiname.xls!Funtionsname(Argument)" verwendet werden. [/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: hpbruns
26.06.2008 um 16:00 Uhr
Hallo Martin

ich nochmal

Das 2 Dateien geöffnet werden hat schon seine Richtigkeit.

Wenn Du die Datei PERSONAL manuell erstellst und abspeicherst musst Du diese, wie von bastla beschrieben ausblenden.

Lässt Du die Datei von Excel bei der Aufzeichnung eines Macros erstellen, blendet Excel diese automatisch aus. Was bedeutet, das, wen Du Änderungen vornehmen musst/möchtest, diese Arbeitsmappe wieder über Fenster/Einblenden sichtbar gemacht werden muss. Und nachher natürlich auch wieder unsichtbar.

Was das AddIn angeht, frag ich jetzt mal ganz blöd. Wird es im AddIn-Manager angezeigt?

Gruß

Hans-Peter
Bitte warten ..
Mitglied: MartinAD
27.06.2008 um 06:28 Uhr
Guten Morgen,

das Problem ist gelöst - dank eurer Hilfe!

Hier mein Lösungsweg:

- Die Fuktion wurde in einem Modul in der Datei PERSONAL.XLSB gespeichert
- Die Datei PERSONAL.XLSB habe ich im XLSTART Verzeichnis unter c:\programme\MS Office 200\XLSTART gespeichert
- Wenn ich eine Excel Datei starte wurde die Personal.xlsb mitgeladen und angezeigt, das habe ich unterbunden, indem ich bei "Ansicht" aus "ausblenden" gegangen bin.
- Die Funktion kann ich nun aus einer beliebigen Excel Datei aufrufen mit dem Syntax: "=PERSONAL.XLSB!SummeWennFarbe($Argumente)"

Danke nochmal für die Hilfe an alle

Gruß
Martin
Bitte warten ..
Mitglied: Made750
23.03.2010 um 12:29 Uhr
Zitat von MartinAD:
- Die Fuktion wurde in einem Modul in der Datei PERSONAL.XLSB gespeichert
- Die Datei PERSONAL.XLSB habe ich im XLSTART Verzeichnis unter c:\programme\MS Office 200\XLSTART gespeichert

Vielen Dank, euch allen für das gelöste Problem

Bei meinem Problem wurde die PERSONAL.XLSB (Excel 2007) beim Start von Excel nicht geladen.
Nun habe ich die PERSONAL.XLSB vom Benutzer-Startup Verzeichnis (C:\Users\User\AppData\Roaming\Microsoft\Excel\XLSTART\)
ins Excel-Startup Verzeichnis (C:\Program Files\Microsoft Office\Office12\XLSTART\) kopiert

Nun werden die Makros geladen und angezeigt

Gruss

Made750
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel 2007 Transponieren von Gruppen oder Blöcken mit VBA (7)

Frage von Chrissy123 zum Thema Microsoft Office ...

Microsoft Office
Excel 2007: Sortierung ohne ins Datenblatt zu springen (2)

Frage von JoSiBa zum Thema Microsoft Office ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(2)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Cisco SG200: Auf bestimmtem vLAN bestimmte TCP-Ports sperren (16)

Frage von SarekHL zum Thema LAN, WAN, Wireless ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Cloud-Dienste
gelöst Bitcoins minen über Nacht? (16)

Frage von 1410640014 zum Thema Cloud-Dienste ...