[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロによるシート作成』(ポンタ)
シートに一定の項目を入力し、それを元にひな形シートをコピーして作成代入するにはどうしたらよろしいでしょうか。
<--- エクセルシート構成 -->
・項目シート
A1:関東 B1:東京 C1:TO
A2:関西 B2:京都 C2:KY
A3:関東 B3:横浜 C3:YO
A4:関西 B4:大阪 C4:OS
・ひな形(関西)
・ひな形(関東)
<--- マクロ実施結果 -->
?@「A1:関東 B1:東京 C1:TO」は「・ひな形(関東)」のA3に「東京」、B3に「TO」入力し、シート名は「東京_TO」とする。
?A「A2:関西 B2:京都 C2:KY」は「・ひな形(関西)」のA3に「京都」、B3に「KY」入力し、シート名は「京都_KY」とする。
?B「A3:関東 B3:横浜 C3:YO」は「・ひな形(関東)」のA3に「横浜」、B3に「YO」入力し、シート名は「横浜_YO」とする。
?C「A4:関西 B4:大阪 C4:OS」は「・ひな形(関西)」のA3に「大阪」、B3に「OS」入力し、シート名は「大阪_OS」とする。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
一例です。
Sub Test() Dim c As Range Dim tName As String Dim sh As Worksheet
Application.ScreenUpdating = False
With Sheets("設定") For Each c In .Range("A1", .Range("A" & Rows.Count).End(xlUp)) tName = "" Select Case c.Value Case "関東" tName = "ひな形(関東)" Case "関西" tName = "ひな形(関西)" End Select
If tName <> "" Then Sheets(tName).Copy After:=Sheets(Sheets.Count) With ActiveSheet .Range("A3:B3").Value = c.Offset(, 1).Resize(, 2).Value On Error Resume Next .Name = c.Offset(, 1).Value & "_" & c.Offset(, 2).Value On Error GoTo 0 End With End If Next End With
End Sub
(β) 2015/07/21(火) 11:33
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.