コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

利用者:円周率3パーセント/記事作成補助VBA

  • 記事作成の際、テンプレートなど共通する記述が多いが、一部分だけ相違点があるという記事を連続して作る場合に執筆の補助になるVBA。紛失した時用のメモ書き。

タブとして、「ホーム」・「入力」・「テンプレート」・「出力」を用意する。

ホームタブ

[編集]
  • マクロ実行用ボタンを設置する。

入力タブ

[編集]
【きのこ】 (空白) りんご
【たけのこ】 (空白) はちみつ
【マッシュルーム】 (空白) カレー

テンプレート例

[編集]

テンプレートタブには、記事の雛形を以下の形で入力しておく。

【きのこ】は、【たけのこ】であり、【マッシュルーム】である。ただし、【マッシュルーム】は【たけのこ】である。

↓マクロ実行後

りんごは、はちみつであり、カレーである。ただし、カレーははちみつである。

マクロ

[編集]

Sub 一括() ' ' 一括 Macro '

 Worksheets("出力").Activate
 Worksheets("出力").Cells.Clear
 Worksheets("ホーム").Activate
    
 Worksheets("テンプレート").Range("A:A").Copy
 Worksheets("出力").Range("A:A").PasteSpecial
  
   Dim タイトル1 As String
   Dim 入力場所3 As String
   
   Dim rng As Range
   Dim 記事テンプレート As Worksheet
   Dim 基礎情報リスト As Worksheet
   
   Set 記事テンプレート = ThisWorkbook.Worksheets("出力")
   Set 基礎情報リスト = ThisWorkbook.Worksheets("入力")
   
   Dim i As Integer
   
   For i = 1 To 1000
       タイトル1 = 基礎情報リスト.Cells(i, 1)
       入力場所3 = 基礎情報リスト.Cells(i, 3)
       
       Set rng = 記事テンプレート.Columns("A:C")
       rng.Replace What:=タイトル1, Replacement:=入力場所3
   Next i
   
 Worksheets("出力").Range("A:A").Copy
 Worksheets("入力").Activate
   

End Sub