会社リストからHTMLファイルを作成しています。
1つの地域で1つのファイルにしています。
地域によっては会社数が多くなってきたので、
20社ごとにファイルを別にして出力したいと考えております。

tokyo
tokyo2
tokyo3
tokyo4
 ・
 ・
 ・

G列のファイル名を20社ごとに変換するには
以下のソースをどのように改良すれば良いのか、ご教授願います。

Sub HTMLファイル出力()
Dim myPath As String
Dim i As Long
myPath = Environ("USERPROFILE") & "\Desktop\Hoge\"
Range("A:G").Sort Key1:=Range("G2"), Header:=xlYes, MatchCase:=False, _
Orientation:=xlTopToBottom
For i = 2 To Range("G1").End(xlDown).Row
If Range("G" & i).Text <> Range("G" & i - 1).Text Then
Open myPath & Range("G" & i).Text & ".html" For Output As #1
Print #1, "<!DOCTYPE html>" & vbNewLine _
& "<html lang=""en"">" & vbNewLine _
& "<body>" & vbNewLine _
& "<div class=""span3"" id=""sidebar"">" & vbNewLine
End If
Print #1, "<div class=""widget"">" & vbNewLine _
& "<h4 class=""widgetTitle"">" & Range("A" & i).Text & "</h4>" & vbNewLine _
& "<ul><li>" & Range("B" & i).Text & "</li>" & vbNewLine _
& "<li>" & Range("C" & i).Text & "</li>" & vbNewLine _
& "<li>" & Range("D" & i).Text & "</li>" & vbNewLine _
& "<li>" & Range("E" & i).Text & "</li></ul></div>" & vbNewLine
If Range("G" & i).Text <> Range("G" & i + 1).Text Then
Print #1, "</div>" & vbNewLine & "</body>" & vbNewLine & "</html>"
Close #1
End If
Next
End Sub

A 回答 (2件)

HTML部分は自力で頑張って下さい。



カウンタはForループの添字[i]から1を引くことで求められます。
if の条件に
AND (i - 1)Mod 20 ) = 0
を加えて下さい。



小生、タブレットの手書き入力なので「全文書いて」にはお応えしかねまする。
    • good
    • 0
この回答へのお礼

ありがとうございます。
早速チャレンジしてみます。

お礼日時:2014/10/12 23:13

現在のコードだと列Gの値で1社ずつの別ファイルで出力される。


これを20社で1ファイルとしたい。
で合ってます?

> If Range("G" & i).Text <> Range("G" & i - 1).Text Then

> If Range("G" & i).Text <> Range("G" & i + 1).Text Then
の行で会社が変ったことを判断しています。
なのでここに手を加える。

ここでカウンタを数え、20以内ならファイルオープン・クローズ操作しない。
20の倍数(カウンタ Mod20 =0)ならファイルオープン・クローズする。
ファイル名は”tokyo” & trim(カウンタを20で割った商(整数)+1)
クローズ時にはカウンタをリセットする。
Forループ終了時にカウンタの20の剰余を判断し、0でなければクローズ操作する。
(不要なのは会社数が20の倍数の時にループ内でクローズしてる場合)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
当方、まったくの初心者なのです。
*カウンタを数え、20以内なら・・
*ファイルオープン・クローズ操作しない・・
*クローズ時にはカウンタをリセット・・
*Forループ終了時にカウンタの20の剰余を判断し・・
何をどうすればよいのか分からない状態です。
お手上げ状態です。

お礼日時:2014/10/12 17:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!

  • 【長谷川豊】『サミットあれこれ』

    「長谷川さんの知る『サミットの裏側』を教えてください」 というメールを頂きました。一応、知ってる範囲で話をします。 まず、サミットは「ただのパフォーマンスの場ではないか?」というお声に対する返事ですが...

  • 先行きの見えない不安を抱える被災地のみなさんに心理学者がアドバイス

    熊本地震から約1ヵ月半が過ぎ、今でも避難所や車中で生活している方も大勢いる状況だ。長引く避難生活は不安感を増大するもの。前回は「余震で眠れない被災地のみなさんに向け心理学者がアドバイス」にて、不安で眠...

  • たまランチ:第47話「さつまいも」

    外ランチを愛してやまない元気な女子社員・たまちゃん(26)。オシャレなお店より「安くておいしい」お店が大好き! そんな女子力低めなたまちゃんの、色気より食い気な日々をつづります。

  • エルフ田さん:第71話「貯められる人」

    エルフ(ファンタジーとかに出てくる長寿の種族)の「エルフ田」と、ただの人間である女子社員2人による日常ギャグ。エルフならではのズレたツッコミでバシバシ人間界の話題を斬っていきます。

  • 感情的にならない人の気質

    あなたの身の回りで感情表現が薄い人はいないだろうか? 感情表現が薄いといい意味でクールに感じ、大人な印象を持つ人も多いだろう。だが、一方で何を考えているか分からず、とっつきづらい印象を抱くこともあるの...

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ