Gdzie znaleźć źródło funkcji VBA w Excelu


12

Mam skoroszyt, który używa określonej funkcji vba, która nie pojawia się w Insert | Wstaw funkcję ... lista dostępnych okien dialogowych.

Jak znaleźć źródło (aby zobaczyć, co robi)?

Odpowiedzi:


19

Mam nadzieję, że rozumiem twoje pytanie ... Po przeczytaniu innych odpowiedzi widzę, że nie jest to zarejestrowane makro. Można zatem założyć, że ktoś napisał to w VBA. Spróbuj wykonać następujące czynności:

  1. Naciśnij Alt+, F11aby otworzyć edytor VBA
  2. Kliknij Widok -> Eksplorator projektów (może już być widoczny.) (Lub: CTRL+ R)
  3. Powinieneś zobaczyć „VBAProject (nazwa skoroszytu.xls). Kliknij to.
  4. Kliknij jeden z arkuszy w obszarze „Microsoft Excel Objects” w Eksploratorze projektów.
  5. Kliknij Widok -> Kod
  6. Kliknij Edytuj -> Znajdź
  7. Wpisz nazwę funkcji w polu
  8. Upewnij się, że wybrano „Bieżący projekt”.
  9. Kliknij Znajdź następny

To powinno zabrać cię tam, gdzie zapisana jest funkcja.


Spróbuj tego: 3a. Kliknij jeden z arkuszy w obszarze „Microsoft Excel Objects” w Eksploratorze projektów. 3b. Kliknij Widok> Kod Teraz spróbuj Krok 4 w oryginalnej odpowiedzi.
Sux2Lose

okrzyki, które go znalazły
rutherford

3

Naciśnij ALT+, F11aby wyświetlić okno projektu VBA. Powinieneś być w stanie znaleźć tam kod dla funkcji niestandardowej.


1

Microsoft napisał dokumentację dla VBA. Jest on sortowany według obiektów, a nie funkcji, ale jeśli nie musisz wpisywać nazwy obiektu przed funkcją, prawdopodobnie będzie to funkcja obiektu, z którym obecnie pracujesz, na przykład bieżącego skoroszytu. Tę dokumentację można przeczytać tutaj. http://msdn.microsoft.com/en-us/library/bb149081.aspx Spróbuj wyszukać funkcję w obiektach takich jak skoroszyt, arkusz itp., a jeśli jej nie ma, użyj opcji wyszukiwania w witrynie ( ostrzeżenie: to wyszukiwanie było złe, teraz wydaje się być wyszukiwaniem bing, więc może teraz jest lepiej). Nie będziesz w stanie zobaczyć źródła tej funkcji, ale jest tam kompleksowy interfejs API.

Jeśli nie możesz tam znaleźć funkcji i uważasz, że nie jest to standardowa funkcja Excela, pojawia się pytanie, skąd Excel ją wziął, aby ją wykonać. Spróbuj debugować makro wywołujące daną funkcję i użyj „kroku do przycisku”. Jeśli widzisz źródło, rozwiązałeś problem. Jeśli go nie ma, może pochodzić z zewnętrznej aplikacji komunikującej się z programem Excel. Przejdź do przycisku „Biuro”, tam wybierz opcje programu Excel, tam przejdź do dodatków. Możesz spojrzeć na zainstalowane dodatki i przeszukać ich dokumentację.

Jeśli wszystko inne zawiedzie i / lub jest zbyt kłopotliwe, zawsze możesz znaleźć w Google coś takiego jak „[nazwa funkcji] + Excel + VBA + Dokumentacja]”. Może znajdziesz trochę dokumentacji online.


funkcja zdecydowanie nie jest standardową funkcją Excela. O ile wiem, widzę wszystkie funkcje dostępne za pośrednictwem Insert | W oknie dialogowym Funkcja ... pokaż wszystkie kategorie. nazwa funkcji nie pojawia się.
rutherford

0

Funkcja, do której się odwołujesz, to prawdopodobnie „makro” zarejestrowane w programie Excel.

Jeśli korzystasz z pakietu Office 2007, kliknij kartę Widok, a następnie kliknij strzałkę menu pod przyciskiem Makra. Wybierz z listy opcję Wyświetl makra, aby wyświetlić makra zarejestrowane dla tego arkusza kalkulacyjnego.

Jeśli zobaczysz na liście nazwę interesującej Cię funkcji, wybierz ją, a następnie kliknij przycisk Edytuj, aby ją wyświetlić.


dziękuję za odpowiedź, ale widzę tu tylko dwa makra i żadnej z tych funkcji mnie nie interesuje
rutherford

Jak nazywa się ta funkcja?
Michael Todd

Nazywam się MarketPrice
rutherford
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.