Markdownとテーブル・表
Markdown(マークダウン)は、プレーンテキストで書かれたコンテンツを簡単に書式設定できる軽量のマークアップ言語です。主にWebコンテンツやドキュメントの作成に使用されます。
サンプル: Markdownでのテーブル
| Header1 | Header2 | Header3 | |---------|---------|---------| | Row1Col1| Row1Col2| Row1Col3| | Row2Col1| Row2Col2| Row2Col3|
上記のデータは以下の表を意味します。
Header1 | Header2 | Header3 |
---|---|---|
Row1Col1 | Row1Col2 | Row1Col3 |
Row2Col1 | Row2Col2 | Row2Col3 |
この記事ではExcelの表を Markdownテーブルへ変換する「ユーザー定義関数」と「マクロ」をご紹介します。
表をMarkdownでのテーブルに変換するユーザー定義関数
ユーザー定義関数のコード
Function ConvertToMarkdown(rng As Range) As String Dim cell As Range Dim markdown As String Dim separator As String Dim columnCount As Integer Dim rowCount As Integer Dim i As Integer Dim j As Integer columnCount = rng.Columns.Count rowCount = rng.Rows.Count ' Create the header row For j = 1 To columnCount markdown = markdown & "|" & rng.Cells(1, j).text Next j markdown = markdown & "|" & vbCrLf ' Create the separator row separator = "|" For j = 1 To columnCount separator = separator & "---|" Next j markdown = markdown & separator & vbCrLf ' Create the data rows For i = 1 To rowCount For j = 1 To columnCount markdown = markdown & "|" & rng.Cells(i, j).text Next j markdown = markdown & "|" & vbCrLf Next i ConvertToMarkdown = markdown End Function
設置方法
- {Alt}+{F11}キーでVBAエディタを起動します。
- 「挿入」「標準モジュール」で「moduleN」を作成します。
- 「moduleN」へ上記のコードを貼り付けます。
- VBAエディタを閉じます。
使用方法
- 変換データを書き起こしたいセルで「関数の挿入(fx)」を使います。
- 「ユーザー定義」グループの「ConvertToMarkdown」を使います。
- 引数「Rng」へ範囲を登録してOKします。
- そのままでも使用できますが、「折り返して全体を表示する」をオンにして幅や高さを調整すると見やすくなります。
調整後の完成例
注意点・コピペ後
注意点
この関数で作成したデータをメモ帳に貼り付けると、上下に「”」が付きます。これはExcelの仕様であり、改行データがあるセルをコピペすると付きます。不要な場合は削除してください。
マクロでMarkdown変換をするには
ユーザー定義関数ではなくVBAマクロを用いると、メモ帳や他のアプリへコピペした際も「”」が付かなくなります。
詳しい設定方法は下記のページを参照してください。
Excelの表をMarkdownでのテーブルに変換してクリップボードへコピーするVBAマクロ
前回のまとめと概要前回の記事では「Excelの表をMarkdownでのテーブルに変換するユーザー定義関数」を紹介しました。上記のページにあるユーザー定義関数を使う方法の欠点は、「成果物をnotepad(メモ帳)などへコピペすると上下に"が付...
コメント