現在VBAにて下記のような処理を考えています。
前提 Excelの数式タブ>名前の管理にて、
Range("A1:D3")を"InitDataRange"と命名していることとします。
今回の処理としてテンプレートシートを起点に下記のような処理がループで行われます。
1、テンプレートシートの初期状態を回避
2、テンプレートシートのデータを編集(ここの処理ではいろいろやっていますが、割愛)
3、テンプレートシートを別Bookに出力
4、テンプレートシートを初期状態に戻す
ここで今悩んでいるところが、1の処理と4の処理のところです。
以下、プログラムを見ていただきたく思います。
VBA
1Sub test() 2 '初期状態のRangeを回避します。 3 Dim initRange As Range 4 Set initRange = Range("InitDataRange") 5 '2の処理の代わりに内部データをいじっています。出力処理は割愛。 6 Range("A1").Value = "a" 7 Range("A2").Value = "b" 8 Range("D3").Value = "c" 9 '初期状態に戻します。 10 Range("InitDataRange") = initRange 11End Sub
ここでできていないのが、最終行のRange~の部分です。
もともとデータが入っているのにもかかわらず、この処理を走らせると最終的に
Range("InitDataRange")の範囲は空になってしまします。
Excelの背景色の設定も含めて初期状態を回避し、
最後に戻すという処理を組み込みたいのですが、
簡単なやり方はありますでしょうか。
よろしくお願いいたします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/30 02:49