こんにちは。
既ご回答と同じ内容なのですが、カテゴリ分けの処理をしています。
1. マクロを実行する前に、カテゴリでデータを並べ替えておく
2. マクロを実行すると、2行目から100行目のデータをメモ帳に
Html 出力します。
なるべく分かり易いようにシンプルに書きましたので、適当に修正
してみて下さい。
# 以前類似の質問を見かけた気がしますが、探せませんでした...
Sub CreateHtml()
If Not TypeOf Selection Is Range Then Exit Sub
Dim i As Long
Dim sPrev As String
Open "C:\test.tmp" For Output As #1
' // Output html
sPrev = ""
For i = 2 To 100
If Not IsEmpty(Cells(i, "A")) Then
' //
If sPrev <> Cells(i, "A").Value Then
Print #1, "<!-- Category -->"
Print #1, "<strong>" & Cells(i, "A").Value & "</strong>"
Print #1, "<ol>"
sPrev = Cells(i, "A").Value
End If
' //
Print #1, " <li>";
Print #1, "<a href='" & Cells(i, "C").Value & "'>";
Print #1, Cells(i, "B").Value;
Print #1, "</a>"
' //
If sPrev <> Cells(i + 1, "A").Value Then
Print #1, "</ol>"
End If
End If
Next
Close #1
Shell "notepad.exe C:\test.tmp", vbNormalFocus
End Sub
お礼
ご回答ありがとうございました。 大体解決できましたが、あと1つだけ教えてください。 上記で行った場合のURLですが <li><a href='http://2.html'>キャベツ</a> こんな感じになります。 それを <li><a href="http://2.html">キャベツ</a> このようにしたいです。 つまり 'を"にかえたいです。 簡単に出来るかと思ったのですが、思わぬことろでつまずきました。