Wo finde ich die Quelle einer VBA-Funktion in Excel?


12

Ich habe eine Arbeitsmappe, die eine bestimmte vba-Funktion verwendet, die nicht in Einfügen | angezeigt wird Funktion einfügen ... Dialogfeld Liste der verfügbaren Funktionen.

Wie finde ich die Quelle (um zu sehen, was sie bewirkt)?

Antworten:


19

Ich hoffe, ich verstehe Ihre Frage ... Wenn ich andere Antworten lese, sehe ich, dass es sich nicht um ein aufgezeichnetes Makro handelt. Dann kann man davon ausgehen, dass jemand es in VBA geschrieben hat. Versuche Folgendes:

  1. Drücken Sie Alt+ F11, um Ihren VBA-Editor zu öffnen
  2. Klicken Sie auf Ansicht -> Projektexplorer (möglicherweise bereits sichtbar) (oder: CTRL+ R)
  3. Sie sollten "VBAProject (Ihr Arbeitsmappenname.xls)" sehen. Klicken Sie darauf.
  4. Klicken Sie im Projektexplorer unter "Microsoft Excel-Objekte" auf eines der Blätter.
  5. Klicken Sie auf Ansicht -> Code
  6. Klicken Sie auf Bearbeiten -> Suchen
  7. Geben Sie den Namen der Funktion in das Feld ein
  8. Stellen Sie sicher, dass 'Aktuelles Projekt' ausgewählt ist.
  9. Klicken Sie auf Weiter suchen

Das sollte Sie dahin bringen, wo die Funktion geschrieben ist.


Versuchen Sie dies: 3a. Klicken Sie im Projektexplorer unter "Microsoft Excel-Objekte" auf eines der Blätter. 3b. Klicken Sie auf Ansicht> Code. Versuchen Sie nun Schritt 4 in der ursprünglichen Antwort.
Sux2Lose

Prost, der es gefunden hat
Rutherford

3

Drücken Sie ALT+ F11, um das VBA-Projektfenster anzuzeigen. Dort sollten Sie den Code für die benutzerdefinierte Funktion finden können.


1

Microsoft hat eine Dokumentation für VBA geschrieben. Es ist nach Objekten sortiert, nicht nach Funktionen. Wenn Sie jedoch vor der Funktion keinen Objektnamen eingeben müssen, handelt es sich wahrscheinlich um eine Funktion eines Objekts, mit dem Sie gerade arbeiten, wie in der aktuellen Arbeitsmappe. Diese Dokumentation kann hier gelesen werden. http://msdn.microsoft.com/en-us/library/bb149081.aspx Versuchen Sie, die Funktion in Objekten wie Arbeitsmappe, Blatt usw. zu suchen. Wenn sie nicht vorhanden ist, verwenden Sie die Suchoption auf der Site ( Warnung: Diese Suche war früher schlecht, jetzt scheint es eine Bing-Suche zu sein, also ist es jetzt vielleicht besser. Sie können die Quelle für die Funktion nicht sehen, aber es gibt dort eine umfassende API.

Wenn Sie die Funktion dort nicht finden können und glauben, dass es sich nicht um eine Standard-Excel-Funktion handelt, stellt sich die Frage, woher Excel sie hat, um sie auszuführen. Versuchen Sie, ein Makro zu debuggen, das die betreffende Funktion aufruft, und verwenden Sie die Schaltfläche "Schritt in". Wenn Sie die Quelle sehen, haben Sie Ihr Problem gelöst. Wenn es nicht vorhanden ist, stammt es möglicherweise von einer externen Anwendung, die mit Excel kommuniziert. Gehen Sie zur Schaltfläche "Office", wählen Sie dort Excel-Optionen und gehen Sie zu Add-Ins. Sie können sich die installierten Addins ansehen und deren Dokumentation suchen.

Wenn alles andere fehlschlägt und / oder zu umständlich ist, können Sie immer etwas wie "[Name der Funktion] + Excel + VBA + Dokumentation]" googeln. Vielleicht finden Sie eine Online-Dokumentation.


Die Funktion ist definitiv keine Standard-Excel-Funktion. Soweit ich weiß, kann ich alle über Insert | verfügbaren Funktionen sehen Der Dialog Funktion ... zeigt dann alle Kategorien an. Der Funktionsname wird nicht angezeigt.
Rutherford

0

Die Funktion, auf die Sie verweisen, ist wahrscheinlich ein in Excel aufgezeichnetes "Makro".

Wenn Sie Office 2007 verwenden, klicken Sie auf die Registerkarte Ansicht und dann auf den Dropdown-Pfeil unter der Schaltfläche Makros. Wählen Sie in der Liste Makros anzeigen aus, um die für diese Tabelle aufgezeichneten Makros anzuzeigen.

Wenn der Name der Funktion angezeigt wird, an der Sie interessiert sind, wählen Sie ihn aus und klicken Sie auf die Schaltfläche Bearbeiten, um ihn anzuzeigen.


danke für die antwort, aber ich sehe hier nur zwei makros und auch nicht die funktion, an der ich interessiert bin
rutherford

Wie heißt die Funktion?
Michael Todd

Name ist MarketPrice
Rutherford
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.