Przejdź do głównej zawartości

Jak zapisywać i używać makr VBA we wszystkich skoroszytach w programie Excel?

W niektórych przypadkach może być konieczne wielokrotne użycie jednego makra VBA w przyszłości. Czy jest taka możliwość, żeby zapisz jakoś moduł VBA do dowolnego nowego dokumentu więc będzie dostępny we wszystkich skoroszytach? Odpowiedź brzmi tak. W tym samouczku przedstawimy prosty sposób na osiągnięcie celu.
dokument zapisz-użyj-vba-makra-we-wszystkich-skoroszytach 1

Zapisz i użyj kodu VBA we wszystkich skoroszytach


Zapisz i użyj kodu VBA we wszystkich skoroszytach

Na przykład chcesz użyć kodu VBA do konwertować liczby na angielskie słowa i zapisz moduł VBA we wszystkich skoroszytach na wypadek, gdybyś chciał użyć kodu VBA w przyszłości. Proszę wykonać następujące czynności.

1. wciśnij Alt + F11 klucze w programie Excel i otwiera plik Microsoft Visual Basic for Applications okno.

2. kliknij wstawka > Moduł i wklej następujące makro w oknie modułu.

Kod VBA: Konwertuj liczby na słowa

Function NumberstoWords(ByVal MyNumber)
'Update by Extendoffice
Dim xStr As String
Dim xFNum As Integer
Dim xStrPoint
Dim xStrNumber
Dim xPoint As String
Dim xNumber As String
Dim xP() As Variant
Dim xDP
Dim xCnt As Integer
Dim xResult, xT As String
Dim xLen As Integer
On Error Resume Next
xP = Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " ", " ", " ")
xNumber = Trim(Str(MyNumber))
xDP = InStr(xNumber, ".")
xPoint = ""
xStrNumber = ""
If xDP > 0 Then
xPoint = " point "
xStr = Mid(xNumber, xDP + 1)
xStrPoint = Left(xStr, Len(xNumber) - xDP)
For xFNum = 1 To Len(xStrPoint)
xStr = Mid(xStrPoint, xFNum, 1)
xPoint = xPoint & GetDigits(xStr) & " "
Next xFNum
xNumber = Trim(Left(xNumber, xDP - 1))
End If
xCnt = 0
xResult = ""
xT = ""
xLen = 0
xLen = Int(Len(Str(xNumber)) / 3)
If (Len(Str(xNumber)) Mod 3) = 0 Then xLen = xLen - 1
Do While xNumber <> ""
If xLen = xCnt Then
xT = GetHundredsDigits(Right(xNumber, 3), False)
Else
If xCnt = 0 Then
xT = GetHundredsDigits(Right(xNumber, 3), True)
Else
xT = GetHundredsDigits(Right(xNumber, 3), False)
End If
End If
If xT <> "" Then
xResult = xT & xP(xCnt) & xResult
End If
If Len(xNumber) > 3 Then
xNumber = Left(xNumber, Len(xNumber) - 3)
Else
xNumber = ""
End If
xCnt = xCnt + 1
Loop
xResult = xResult & xPoint
NumberstoWords = xResult
End Function
Function GetHundredsDigits(xHDgt, xB As Boolean)
Dim xRStr As String
Dim xStrNum As String
Dim xStr As String
Dim xI As Integer
Dim xBB As Boolean
xStrNum = xHDgt
xRStr = ""
On Error Resume Next
xBB = True
If Val(xStrNum) = 0 Then Exit Function
xStrNum = Right("000" & xStrNum, 3)
xStr = Mid(xStrNum, 1, 1)
If xStr <> "0" Then
xRStr = GetDigits(Mid(xStrNum, 1, 1)) & "Hundred "
Else
If xB Then
xRStr = "and "
xBB = False
Else
xRStr = " "
xBB = False
End If
End If
If Mid(xStrNum, 2, 2) <> "00" Then
xRStr = xRStr & GetTenDigits(Mid(xStrNum, 2, 2), xBB)
End If
GetHundredsDigits = xRStr
End Function
Function GetTenDigits(xTDgt, xB As Boolean)
Dim xStr As String
Dim xI As Integer
Dim xArr_1() As Variant
Dim xArr_2() As Variant
Dim xT As Boolean
xArr_1 = Array("Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen ")
xArr_2 = Array("", "", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety ")
xStr = ""
xT = True
On Error Resume Next
If Val(Left(xTDgt, 1)) = 1 Then
xI = Val(Right(xTDgt, 1))
If xB Then xStr = "and "
xStr = xStr & xArr_1(xI)
Else
xI = Val(Left(xTDgt, 1))
If Val(Left(xTDgt, 1)) > 1 Then
If xB Then xStr = "and "
xStr = xStr & xArr_2(Val(Left(xTDgt, 1)))
xT = False
End If
If xStr = "" Then
If xB Then
xStr = "and "
End If
End If
If Right(xTDgt, 1) <> "0" Then
xStr = xStr & GetDigits(Right(xTDgt, 1))
End If
End If
GetTenDigits = xStr
End Function
Function GetDigits(xDgt)
Dim xStr As String
Dim xArr_1() As Variant
xArr_1 = Array("Zero ", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ")
xStr = ""
On Error Resume Next
xStr = xArr_1(Val(xDgt))
GetDigits = xStr
End Function

3. Kliknij Zapisz ikona w lewym górnym rogu wstążki lub kliknij Ctrl + S otworzyć Zapisz jako okno.dokument zapisz-użyj-vba-makra-we-wszystkich-skoroszytach 2

4. w Zapisz jako w oknie wpisz nazwę skoroszytu w Nazwa pliku skrzynka. I wybierz Dodatek Excela (*.xlam) opcja w Zapisz jako typ Lista rozwijana.
dokument zapisz-użyj-vba-makra-we-wszystkich-skoroszytach 3

5. Następnie kliknij przycisk Zapisz przycisk, aby zapisać skoroszyt z kodem VBA jako Dodatek Excela.
dokument zapisz-użyj-vba-makra-we-wszystkich-skoroszytach 4

6. Wróć do przewyższać, zamknij pusty skoroszyt, który został zapisany jako dodatek programu Excel.

7. Otwórz nowy skoroszyt z danymi, które należy przekonwertować. Wprowadź formułę = Liczba do słów (A2) w komórce B2. The #NAZWA? wartość błędu zostanie zwrócona, ponieważ kod VBA nie został jeszcze zastosowany we wszystkich skoroszytach.
dokument zapisz-użyj-vba-makra-we-wszystkich-skoroszytach 5

8. Idź do Deweloper tab, kliknij Dodatki programu Excel Dodatki grupa.
dokument zapisz-użyj-vba-makra-we-wszystkich-skoroszytach 6

9. Dodać pojawi się okno dialogowe. Kliknij Przeglądaj przycisk.
dokument zapisz-użyj-vba-makra-we-wszystkich-skoroszytach 7

10. Wybierz właśnie zapisany dodatek, a następnie kliknij OK przycisk.
dokument zapisz-użyj-vba-makra-we-wszystkich-skoroszytach 8

11. Następnie Konwertuj numer na słowa dodatek dostosowany jest wstawiany i włączony. Kliknij OK aby zakończyć ustawianie.
dokument zapisz-użyj-vba-makra-we-wszystkich-skoroszytach 9

12. Teraz, kiedy wprowadzisz formułę = Liczba do słów (A2) w komórce B2 i naciśnij Wchodzę klucz, odpowiednie angielskie słowa zostaną zwrócone. Przeciągnij uchwyt autouzupełniania w dół, aby uzyskać wszystkie wyniki.
dokument zapisz-użyj-vba-makra-we-wszystkich-skoroszytach 10

Uwagi:

Jeśli potrzebujesz uruchomić kod ręcznie, nie ma sposobu, aby go znaleźć z powyższych kroków. Proszę się nie martwić. Są dwie drogi uruchomić kod.

  1. Możesz dodać kod do Szybki pasek narzędzi i uruchamiaj kod za każdym razem, gdy klikniesz przycisk kodu na pasku narzędzi.
    dokument zapisz-użyj-vba-makra-we-wszystkich-skoroszytach 11
  2. Możesz także bezpośrednio nacisnąć Alt + F11 aby otworzyć okno operacji kodu, znajdź kod i naciśnij F5 biegać.

Inne operacje (artykuły)

Kod VBA do wyświetlania wszystkich dodatków w programie Excel
W programie Excel możesz dodać lub wstawić kilka dodatków, aby lepiej radzić sobie z danymi. Jak wiemy, możemy przejść do okna Opcje, aby wyświetlić wszystkie dodatki, ale czy istnieje sposób na wyświetlenie wszystkich dodatków w arkuszu? Teraz, w tym samouczku, zawiera kod VBA do wyświetlania wszystkich dodatków w programie Excel.

Jak uruchomić makro VBA podczas otwierania lub zamykania skoroszytu?
W tym artykule opowiem Ci, jak uruchomić kod VBA za każdym razem, otwierając lub zamykając skoroszyt.

Jak chronić / blokować kod VBA w programie Excel?
Podobnie jak możesz użyć hasła do ochrony skoroszytów i arkuszy roboczych, możesz również ustawić hasło do ochrony makr w programie Excel.

Jak korzystać z opóźnienia czasowego po uruchomieniu makra VBA w programie Excel?
W niektórych przypadkach może być konieczne opóźnienie licznika czasu w celu wyzwolenia makra VBA w programie Excel. Na przykład kliknięcie, aby uruchomić określone makro, zacznie obowiązywać po 10 sekundach. W tym artykule dowiesz się, jak to osiągnąć.

 


  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny i przechowywanie danych; Podziel zawartość komórek; Połącz zduplikowane wiersze i sumę / średnią... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Ulubione i szybkie wstawianie formuł, Zakresy, wykresy i obrazy; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Grupowanie tabel przestawnych według numer tygodnia, dzień tygodnia i więcej ... Pokaż odblokowane, zablokowane komórki w różnych kolorach; Podświetl komórki, które mają formułę / nazwę...
karta kte 201905
  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
officetab dół

 

 

Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thank you very much hundred timessss
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations