メインコンテンツへスキップ

ExcelのすべてのブックでVBAマクロを保存して使用する方法は?

場合によっては、将来、XNUMXつのVBAマクロを複数回使用する必要があります。 することは可能ですか 何らかの方法でVBAモジュールを新しいドキュメントに保存します それで、それはすべてのワークブックで利用可能になりますか? 答えはイエスです。 このチュートリアルでは、目標を達成するための簡単な方法を紹介します。
doc save-use-vba-macros-in-all-workbooks 1

すべてのワークブックでVBAコードを保存して使用する


すべてのワークブックでVBAコードを保存して使用する

たとえば、VBAコードを使用して 数字を英語の単語に変換する > VBAモジュールをすべてのブックに保存します 将来VBAコードを使用したい場合に備えて。 次のようにしてください。

1。 プレス Altキー+ F11 Excelでキーを押すと、 アプリケーション向け Microsoft Visual Basic 窓。

2。 クリック インセット > モジュール 次のマクロをモジュールウィンドウに貼り付けます。

VBAコード:数字を単語に変換する

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。 クリック Save リボンの左上隅にあるアイコンをクリックするか、をクリックします Ctrl + Sキー を開く 名前を付けて保存 窓。doc save-use-vba-macros-in-all-workbooks 2

4。 の中に 名前を付けて保存 ウィンドウで、ワークブック名​​をに入力します ファイル名 箱。 そして、 Excelアドイン(* .xlam) 内のオプション タイプとして保存 ドロップダウンリスト。
doc save-use-vba-macros-in-all-workbooks 3

5.次に、 Save VBAコードを含むブックを保存するボタン Excelアドイン.
doc save-use-vba-macros-in-all-workbooks 4

6.に戻る Excel、Excelアドインとして保存されている空のブックを閉じます。

7.変換する必要のあるデータを含む新しいワークブックを開きます。 式を入力します = NumberstoWords(A2) セルB2内。 The #NAME? VBAコードはまだすべてのブックに適用されていないため、エラー値が返されます。
doc save-use-vba-macros-in-all-workbooks 5

8。 に行く Developer タブをクリックします。 Excelアドイン セクションに アドイン グループ。
doc save-use-vba-macros-in-all-workbooks 6

9。 ザ 加える ダイアログボックスが表示されます。 クリック ブラウズ
doc save-use-vba-macros-in-all-workbooks 7

10.保存したアドインを選択し、[ OK
doc save-use-vba-macros-in-all-workbooks 8

11.次に、 数字を単語に変換するアドイン カスタマイズしたものが挿入され、オンになります。 クリック OK ボタンをクリックして設定を終了します。
doc save-use-vba-macros-in-all-workbooks 9

12.数式を入力すると = NumberstoWords(A2) セルB2で、を押します。 入力します キーを押すと、対応する英語の単語が返されます。 オートフィルハンドルを下にドラッグして、すべての結果を取得します。
doc save-use-vba-macros-in-all-workbooks 10

ノート:

コードを実行する必要がある場合 手動で、上記の手順からそれを見つける方法はありません。 心配しないでください。 がある 二つの方法 コードを実行します。

  1. あなたはにコードを追加することができます クイックツールバー ツールバーのコードボタンがクリックされるたびにコードを実行します。
    doc save-use-vba-macros-in-all-workbooks 11
  2. 直接押すこともできます Altキー+ F11 コード操作ボックスを開き、コードを見つけて、を押します。 F5 走る。

その他の業務(記事)

Excelですべてのアドインを一覧表示するVBAコード
Excelでは、データをより適切に処理するために、いくつかのアドインを追加または挿入できます。 ご存知のとおり、[オプション]ウィンドウに移動してすべてのアドインを表示できますが、シートにすべてのアドインを一覧表示する方法はありますか? このチュートリアルでは、Excelですべてのアドインを一覧表示するためのVBAコードを提供します。

ブックを開いたり閉じたりするときにVBAマクロを実行するにはどうすればよいですか?
この記事では、ワークブックを毎回開いたり閉じたりしながらVBAコードを実行する方法を説明します。

ExcelでVBAコードを保護/ロックする方法は?
パスワードを使用してブックやワークシートを保護できるのと同じように、Excelでマクロを保護するためのパスワードを設定することもできます。

ExcelでVBAマクロを実行した後に時間遅延を使用するにはどうすればよいですか?
場合によっては、ExcelでVBAマクロをトリガーするためにタイマー遅延を作成する必要があります。 たとえば、クリックして指定したマクロを実行すると、10秒後に有効になります。 この記事では、それを実現する方法を紹介します。

 


  • スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
  • セル/行/列をマージする およびデータの保持。 分割セルコンテンツ; 重複する行と合計/平均を組み合わせる...重複セルを防止します。 範囲を比較する...
  • [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
  • 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
  • お気に入りの数式をすばやく挿入する、範囲、チャート、写真; セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
  • スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
  • ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
  • ピボットテーブルのグループ化 週番号、曜日など... ロック解除された、ロックされたセルを表示する さまざまな色で; 式/名前を持つセルを強調表示する...
kteタブ201905
  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部

 

 

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