• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelVBAに詳しい方に質問!)

ExcelVBAでExcelデータをHTML形式のWebページに変換する方法を教えてください

このQ&Aのポイント
  • アンケート集計のためのExcelデータをWebページに変換する方法はありますか?ExcelVBAに詳しい方に質問です。
  • ExcelファイルをWeb化するためにExcelVBAでマクロを組む方法を教えてください。
  • ExcelVBA以外でExcelデータをWeb化する方法はありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

>タグで出来た HTMLページを作成したいと考えております。 最低限の機能でテーブルのコードをシートに書き出すマクロです。 どのように拡張するかは自由ですが、1個のセルの書き出しのために必要なオプションは多数あります。 それを組み合わせて一つのテーブルにするには、多大な解析が必要になりますしそれを組み合わせる手法も様々です。 Sub HtmlTest() Dim WorkCell As Range Dim i As Integer, j As Integer, wid As Integer, c As Integer Dim hed As String Dim tbl As String Dim ehed As String Sheets("table").Select Set WorkCell = Range("A1:E8") '表範囲 wid = WorkCell.Columns.Count * 100 '横幅 'テーブルの定義 hed = "<table border width=" & wid & " bgcolor=""#dddddd"" bordercolor=""#666666"" cellpadding=2 cellspacing=2 style=""color:#000000;"">" ehed = "</table>" 'シートへの書き出し c = 1 Sheets("HTML").Select Cells(c, 1) = hed c = c + 1 'テーブルの書き出し For i = 1 To WorkCell.Rows.Count tbl = "<tr>" For j = 1 To WorkCell.Columns.Count tbl = tbl & "<td bgcolor=""#ffffff"" align=center > " & WorkCell(i, j) & "</td>" Next tbl = tbl & "</tr>" Cells(c, 1) = tbl c = c + 1 Next Cells(c, 1) = ehed End Sub ---------------------------------------------- 実行結果 ---------------------------------------------- <table border width=500 bgcolor="#dddddd" bordercolor="#666666" cellpadding=2 cellspacing=2 style="color:#000000;"> <tr><td bgcolor="#ffffff" align=center > 1段目の1</td><td bgcolor="#ffffff" align=center > 1段目の2</td><td bgcolor="#ffffff" align=center > 1段目の3</td><td bgcolor="#ffffff" align=center > 1段目の4</td><td bgcolor="#ffffff" align=center > 1段目の5</td></tr> <tr><td bgcolor="#ffffff" align=center > 2段目の1</td><td bgcolor="#ffffff" align=center > 2段目の2</td><td bgcolor="#ffffff" align=center > 2段目の3</td><td bgcolor="#ffffff" align=center > 2段目の4</td><td bgcolor="#ffffff" align=center > 2段目の5</td></tr> <tr><td bgcolor="#ffffff" align=center > 3段目の1</td><td bgcolor="#ffffff" align=center > 3段目の2</td><td bgcolor="#ffffff" align=center > 3段目の3</td><td bgcolor="#ffffff" align=center > 3段目の4</td><td bgcolor="#ffffff" align=center > 3段目の5</td></tr> <tr><td bgcolor="#ffffff" align=center > 4段目の1</td><td bgcolor="#ffffff" align=center > 4段目の2</td><td bgcolor="#ffffff" align=center > 4段目の3</td><td bgcolor="#ffffff" align=center > 4段目の4</td><td bgcolor="#ffffff" align=center > 4段目の5</td></tr> <tr><td bgcolor="#ffffff" align=center > 5段目の1</td><td bgcolor="#ffffff" align=center > 5段目の2</td><td bgcolor="#ffffff" align=center > 5段目の3</td><td bgcolor="#ffffff" align=center > 5段目の4</td><td bgcolor="#ffffff" align=center > 5段目の5</td></tr> <tr><td bgcolor="#ffffff" align=center > 6段目の1</td><td bgcolor="#ffffff" align=center > 6段目の2</td><td bgcolor="#ffffff" align=center > 6段目の3</td><td bgcolor="#ffffff" align=center > 6段目の4</td><td bgcolor="#ffffff" align=center > 6段目の5</td></tr> <tr><td bgcolor="#ffffff" align=center > 7段目の1</td><td bgcolor="#ffffff" align=center > 7段目の2</td><td bgcolor="#ffffff" align=center > 7段目の3</td><td bgcolor="#ffffff" align=center > 7段目の4</td><td bgcolor="#ffffff" align=center > 7段目の5</td></tr> <tr><td bgcolor="#ffffff" align=center > 8段目の1</td><td bgcolor="#ffffff" align=center > 8段目の2</td><td bgcolor="#ffffff" align=center > 8段目の3</td><td bgcolor="#ffffff" align=center > 8段目の4</td><td bgcolor="#ffffff" align=center > 8段目の5</td></tr> </table>

OK_future
質問者

お礼

すごいですね!ゆっくりコードを読み返したいと思います。とてもためになりました。ありがとございます!

その他の回答 (1)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>ExcelVBAでマクロを組んでWeb 化するには具体的にどのようにVBAを組んだらできますか? 単純に”WEBページ保存”ではいけないのでしょうか? ActiveWorkbook.SaveAs Filename:="Book1.htm", FileFormat:=xlHtml

OK_future
質問者

お礼

hana-hana3さん、この前はありがとうございました。 あのあと、コードを実行したのですが、結果としてエラーになってしまいます。 テーブルの書き出しのコードに原因があるようです。 自分でも考えましたが、結局分かりませんでした。 どのように直せば直ると思いますか?

OK_future
質問者

補足

hana-hana3さん、 早速のご回答ありがとうございます。 〈tr〉タグや〈td〉タグで構成され〈table〉タグで出来た HTMLページを作成したいと考えております。 さらに一部の〈td〉タグ中には、プルダウンやを入れたいと思います。

関連するQ&A