• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA 特定のシートに同じ処理をさせたい)

VBAで特定のシートに同じ処理をさせる方法

このQ&Aのポイント
  • VBAを使用して特定のシートに同じ処理をさせる方法について説明します。
  • 上記のプログラムは、ランキングをHTML形式に変換するものです。
  • シート名が「スペシャルクラス」「オープンクラス」「ビギナークラス」の3つのシートで同じ処理を実行したい場合、以下の手順を実行します。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

こんな感じでしょうか。テスト未実施です。 Sub Sample1()  Dim shtNM As Variant  shtNM = Split("スペシャルクラス,オープンクラス,ビギナークラス", ",")  Dim F As Integer    Dim ws As Worksheet  Dim i As Long  Dim LineData As String  Dim Target As String  For F = 0 To UBound(shtNM)   Target = ActiveWorkbook.Path & "\" & shtNM(F) & ".html"   Set ws = ThisWorkbook.Worksheets(shtNM(F))   ws.Activate   i = 1   With CreateObject("ADODB.Stream")    .Charset = "UTF-8"    .Open    LineData = ""    Do While Not (ws.Cells(i, 1).Value = "" And ws.Cells(i, 2).Value = "" And ws.Cells(i, 3).Value = "")     LineData = LineData & "<div>" & ws.Cells(i, 1).Value & "</div>" & vbCrLf     LineData = LineData & "<p>" & ws.Cells(i, 2).Value & "</p>" & vbCrLf     LineData = LineData & "<span>" & ws.Cells(i, 3).Value & "</span>" & vbCrLf     i = i + 1    Loop    .WriteText LineData, 1    .SaveToFile Target, 2    .Close   End With   'MsgBox Target & "に書き出しました"  Next End Sub

nkmyr
質問者

お礼

コメントをありがとうございます。 うまくできました。