• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA勉強中の者ですが、今悩んでいることがあります)

Excelの表データをHTMLファイルに出力する方法とは?

このQ&Aのポイント
  • VBA勉強中の者がExcelの表データをHTMLファイルとして出力する方法について悩んでいます。A列には単語があり、B列には説明文があります。A列の単語がB列の説明文に含まれている場合、リンク設定を行いたいですが、配列を使用してどのように実装すれば良いか不安です。
  • VBAを使ってExcelの表データをHTMLファイルに出力する方法について質問です。A列には単語があり、B列にはその単語の説明文が記載されています。単語が説明文に含まれている場合、該当する箇所をリンクにしたいです。具体的な実装方法やプログラムの設計についてアドバイスをいただけないでしょうか。
  • Excelの表データをHTMLファイルに出力する方法について質問です。A列には単語があり、B列には対応する説明文があります。単語が説明文に含まれている場合、その箇所をリンクにしたいと考えています。配列を使用して実装することを考えていますが、具体的な実装方法や注意点がわからないため、アドバイスをお願いします。

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

  • ベストアンサー
  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.3

No2です 私の回答は勘違いみたいですね。同じ行のA列とB列を検索対称にするのかと思ってましたが、B列1行に対してA列全ての行の単語を検索して、あるかないかの判定をB列分したいわけですね。 行数にもよると思いますが、かなりの行数があるのでしたら、配列に入れたほうが処理速度が速いと思いますが、それほど行数が無いのでしたら、配列に入れる処理と直接セルを検索するのとではさほど差が出ないと思います。 感じとしては以下のような感じでお考えなのですよね(以下の例はセルを直接検索の例ですけど) With Sheets("Sheet1") For i = 1 To .Range("B" & Rows.Count).End(xlUp).Row For Each c In .Range("A1:A" & .Range("A" & Rows.Count).End(xlUp).Row) If InStr(Range("B" & i).Value, c.Value) Then 'Hrefを設定する。 End If Next Next i End With

stay_0707
質問者

お礼

ありがとうございました。 求めていたのはこれです。行数が1000行近くあるので配列に入れたほうが処理速度は速いですね。勉強になりました。

その他の回答 (3)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.4

No3の補足です 単語が見つかったらそれ以上探さなくていいわけでExit Forが抜けてました。 If InStr(Range("B" & i).Value, c.Value) Then 'Hrefを設定する。 Exit For End If

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

配列に入れなくても直接Rangeでセルを指定してInStrで For Each c In Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row) If InStr(Range("B" & c.Row).Value, c.Value) Then 'Hrefを設定する。 End If Next こんな感じでいいのではないですか。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

EXCELの機能の、「Webページとして保存」じゃダメ?

関連するQ&A