|
▼かかこ さん:
こんにちは、すでにUO3さんのご助言で対処方法を見つけられたようですが
最初の質問はこういうことかな?ということで作ってみました。
興味がありましたら確認してみてください。
'対象シート名の登録
Dim i As Integer, j As Integer
Dim Dic As Variant, WS As Variant
Set Dic = CreateObject("Scripting.Dictionary")
tblSH = Array("あいう", "あいうえ", "あいうえお", _
"かきく", "かきくけ", "かきくけこ", _
"さしす", "さしすせ", "さしすせそ")
For i = 1 To UBound(tblSH)
For j = 1 To 12
Dic.Add tblSH(i) & j & "月", 1
Next j
Next i
'ワークシートの名前確認
For Each WS In WBK1.Sheets
If Dic.Exists(WS.Name) Then
WS.Copy After:=WBK2.Sheets(Sheets.Count)
End If
Next WS
Set Dic = Nothing
>▼UO3 さん:
>
>早速のご回答ありがとうございます。
>
>>その前に、前提なんですが、ブックをコピーする際に、要は、元ブックにある
>>全てのシートをコピーするんですよね。
>
>説明不足ですみません。じつは全てのシートではないのです。
>ですが、教えていただいたとおり
>WBK1.Worksheets.Copyとして
>いらないシートを削除することで解決しました。
>ありがとうございました。
>
>>・データブックにはマクロを持たせない。
>>・マクロブックでデータブックを開いて処理して、保存する。
>
>これは一番間違いがない方法ですね。
>ありがとうございます。勉強になりました。
|
|