- ベストアンサー
エクセル表をHTML化
- エクセル表をHTMLに変換する方法を教えてください。
- セルの値を入れ替えてエクセル表をHTML化したいです。
- マクロを使ってエクセル表をHTMLに変換する方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
参考に Sub convertHTML2() Dim ws As Worksheet Dim htmlFile As String Dim i As Long, j As Long Set ws = ThisWorkbook.Worksheets(1) htmlFile = ActiveWorkbook.Path & "\ファイル名.html" Open htmlFile For Output As #1 i = 1 Print #1, "<table>" Do While ws.Cells(i, 1).Value <> "" Print #1, vbTab & "<tr>"; j = 2 Do While ws.Cells(i, j).Value <> "" Print #1, "<td>" & ws.Cells(i, j).Value & "</td>"; j = j + 1 Loop Print #1, "<td>" & ws.Cells(i, 1).Value & "</tr>" & vbCr; i = i + 1 Loop Print #1, "</table>" Close #1 MsgBox htmlFile & "に書き出しました" End Sub
その他の回答 (3)
- kkkkkm
- ベストアンサー率66% (1725/2595)
横に何列も氏名と色2組で並んでいるのでしたら。 Sub Example() Dim ws As Worksheet Dim htmlFile As String Dim i, j As Long Set ws = ThisWorkbook.Worksheets(1) htmlFile = ActiveWorkbook.Path & "\ファイル名.html" Open htmlFile For Output As #1 Print #1, "<table>" For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row Print #1, vbTab & "<tr>"; For j = 1 To Cells(i, Columns.Count).End(xlToLeft).Column Step 2 Print #1, "<td>" & ws.Cells(i, j + 1).Value & "</td>" & "<td>" & ws.Cells(i, j).Value & "</td>"; Next j Print #1, "</tr>" & vbCr; Next i Print #1, "</table>" Close #1 MsgBox htmlFile & "に書き出しました" End Sub
- kkkkkm
- ベストアンサー率66% (1725/2595)
> セルの位置もバラバラなので バラバラですか?2列しかデータ記載してませんよね。 たかだか2列の列の切り取り挿入なんて手間は大したことがないと思いますが。 2列じゃないのでしたら、本来のデータを示さないと書き替えたマクロは正しく機能しませんよ。
- kkkkkm
- ベストアンサー率66% (1725/2595)
色の列を切り取り 名前の列を選択して「切り取ったセルの挿入」をすれば列が入れかわります。
お礼
セルの位置もバラバラなので切り取ったセルの挿入はものすごく手間がかかりますので…
お礼
おかげさまでうまくできました。 ありがとうございました。