VBAを使ってExcelでデータをエンコードする方法|初心者向けステップバイステップガイド
ステップ1:適切なパラメータを設定したデータセットを作成する
まずは、エンコード対象となるデータセットを準備しましょう。下の画像のように、氏名などのテキストデータを含むサンプル表をExcelに入力しておきます。

ステップ2:「開発」タブを有効化して使用する
Excelに標準搭載されている「開発」タブには、VBA(Visual Basic for Applications)でマクロを実行するために必要なツールがまとめられています。ただし、このタブは初期状態では非表示になっているため、メニューバーの「オプション」から設定を変更して、画面上部のリボンに表示させる必要があります。
- 「開発」タブを開きます。
- 「Visual Basic」コマンドを選択します。

ステップ3:VBAユーザー定義関数を作成する
選択すると、Visual Basic Editor(VBE)のウィンドウが開きます。
- メニューの「挿入」から「標準モジュール」を選択し、VBAコードを記述できる状態にします。
- 以下のVBAコードをモジュールに貼り付けます。
- コードを保存します。
Function Encoding(text$)
Dim i
With CreateObject("ADODB.Stream")
.Open: .Type = 2: .Charset = "utf-8"
.WriteText text: .Position = 0: .Type = 1: i = .Read
With CreateObject("Microsoft.XMLDOM").createElement("b64")
.DataType = "bin.base64": .nodeTypedValue = i
Encoding = Replace(Mid(.text, 5), vbLf, "")
End With
.Close
End With
End Function
このコードは、ADODB.Streamオブジェクトを使ってテキストをUTF-8のバイトデータに変換し、XMLDOMのBase64機能でエンコード文字列を生成する仕組みです。

ステップ4:Excel上でデータをエンコードする
ワークシートに戻り、セルB5に以下の数式を入力します。
=Encoding(A5)
- Enterキーを押します。

- 先頭の人物のデータに対するエンコード結果が表示されます。
- フィルハンドルをつかんで、セルB5からセルB11まで下方向へドラッグします。

- すべての行のエンコード結果が、下の画像のように一括で取得できます。

あわせて読みたい:Excelファイルのエンコード方式を確認する方法
練習用ワークブックのダウンロード
関連記事
- Excelでエンコードを変更する方法
- 【解決済み】Excelで「CSV UTF-8」が選択できないときの対処法
- ExcelでCSVファイルにUTF-8エンコーディングを適用する方法
- ExcelでBase64をデコードする方法
<< Excelのエンコード | Excelファイル | Excelの学習 に戻る
-
Microsoft Accessのフォームに画像を追加・削除する方法
Microsoft Accessのデータベースフォームにロゴや画像、写真を追加したいけれど、やり方がわからないという方はいませんか?このチュートリアルでは、Accessフォームに画像を追加する手順を詳しく解説します。 Accessフォームに画像を追加するには? Microsoft Accessでデータベースに画像を追加するには、「添付ファイル」機能を使用します。添付ファイル機能とは、ドキュメント、プレゼンテーション、画像などの1つ以上のファイルを、データベース内のレコードに追加できるAccessの標準機能です。 Accessフォームに画像を挿入する手順 Microsoft Accessのフォー
-
Outlookの「SafeLinks保護」機能とは?URL書き換えの理由と無効化できるのかを解説
Outlookの受信トレイで、メール内のすべてのURLに見慣れない文字列が追加されていることに気づいたことはありませんか?実はこれは、Microsoftがメール内のURLの先頭に自動的に付加している文字列です。一見不審に見えますが、Microsoft自身が追加したものであり、元のURLの前には次のようなテキストが挿入されます。 https://emea01.safelinks.protection.outlook.com/?url= この機能は、Microsoftがあなたのメールアカウントに対して有効化した場合にのみ表示されます。サブスクリプションの種類や地域によっては、適用時期が遅れるユーザ