私は週末のワークシートをアーカイブする方法を理解しようとしています。毎週のワークシートを作成して、前の週のワークシートをアーカイブする
私のプロジェクトにはほとんど背景:
私は日常的に見直す日報の概要と計算を収容毎日二つの新しいワークシートを作成します。現時点では、1つのファイルを開くにはあまりにも多くのワークシートがありますので、開いて人に送るのは永遠にかかります。
最後に、先週作成したワークシートを別のファイルに保存する方法を知りたいと思います。私はこれらのすべてを別々の(1つの)ワークブックに保存したい、または何とかその週の毎日の各ワークブックを格納するためのフォルダを作成したいと思います。
たとえば、現在の週に10枚のワークシートを作成します(毎週2回、月〜金)。その後、私は次の月曜日に来て、その週のワークシートの作成を開始すると、古いシートは別のワークブックに入れられます。
私は現在、毎日のワークシートを作成するために使用するコード:
TD = Format(Date, "yyyy.mm.dd")
On Error GoTo Make_Sheet
Sheets("Open_" & TD).Activate
Sheets("Open_" & TD).Select
Cells.Select
Selection.Delete Shift:=x1Up
Exit Sub
Make_Sheet:
Worksheets.Add(After:=Sheets("Print")).Name = "Open_" & TD
ActiveSheet.Name = "Open_" & TD
With ActiveWorkbook.Sheets("Open_" & TD).Tab
.Color = 5296274
.TintAndShade = 0
End With
それならば、コードは、現在の日付のワークシートは、すでに(ワークシートのタイトルとして日付を使用して)存在するかどうかを確認しますそれはそれをクリアしますか?それ以外の場合は、新しいワークシートが作成されます。また、タブを色分けします(毎日2つ作成するので)。私は2番目の毎日のワークシートを作成するための別のコードセットを持っています。ここでは、事前に
おかげで、
-Tuques
それが遅くなり、そのすべてのものを 'Activate'sと' Select'sです。これらのものを使わないようにコードを再構成してください。例.. 'Cells.Delete Shift:= x1Up'は、selectを使って2行目と同じことをします。 – braX
質問には関係ありませんが、 'Shift:= x1Up'を' Shift:= xlUp'に変更してください – YowE3K