私はVBAの初心者です。このフォーラムを使用することで、コードを書くことができましたが、私は1つの場所で立ち往生しています。隠しワークシートでVBAマクロを使用する方法そしてそれらを隠す
ブックには10枚あります。最初のシートは私の入力ワークシートであり、すべての計算を行います。これらの計算は、後の9枚に引かれます。これらの9枚は私のレポートを生成します。計算ファイルでは、次の9ファイルをすべて非表示にしてマクロを実行します。一度計算が大丈夫です。 [Generate report]ボタンをクリックすると、新しいファイルが作成され、デスクトップ上に開き、ドキュメントに保存されます。
問題は - どういうわけか、私はすべてを行うコードを生成することができました。このフォーラムを通過するが、私は隠すを取得し、一部を再表示することはできませんよ。 私が書いたコードは、計算ファイルからすべてのファイルを非表示にしています(非表示にしておく)、新しく生成されたレポートにファイルを非表示にします(新しいExcelですべてのファイルを非表示にすることはできません。ワークシートクラスのvisibleプロパティ)。だから、残りはマクロ作品を隠されたまま、私は計算ファイル内の唯一の1枚を持つことができます -
は、ここで私はそれを解決する助けてください私のコードです。新しく生成されたファイルには、9つのタブがすべて表示されます。
Sub SaveMain()
Application.EnableEvents = False
Sheets("Cover").Visible = True
Sheets("2").Visible = True
Sheets("3").Visible = True
Sheets("4").Visible = True
Sheets("5").Visible = True
Sheets("6").Visible = True
Sheets("7").Visible = True
Sheets("8").Visible = True
Sheets("9").Visible = True
Dim Flname As String
Flname = "Pump Datasheet" & InputBox("Enter Pump tag No P-XXXX:") & ".xls"
Sheets(Array("Cover", "2", "3", "4", "5", "6", "7", "8", "9")).Copy
Sheets("Cover").Visible = False
Sheets("2").Visible = False
Sheets("3").Visible = False
Sheets("4").Visible = False
Sheets("5").Visible = False
Sheets("6").Visible = False
Sheets("7").Visible = False
Sheets("8").Visible = False
Sheets("9").Visible = False
newfilename = Flname
With ActiveWorkbook
.SaveAs newfilename, FileFormat:=50
End With
Application.EnableEvents = True
End Sub
わかりません。あなたはそれをどのブックに隠しておきたいですか? – findwindow
少なくとも1枚のシートが必要です。あなたのコードでは、最後の近くにすべてのシートを非表示に設定します。 「Cover」をTrueに設定してみてください。 –
私の親ファイルは(計算ファイル+9枚)です。それらの9枚は隠されていますが、9枚の隠しファイルは計算ファイルからデータを取ります。計算ファイルが完成したら、レポート生成をクリックします。 9枚あり、計算ファイルを持たないNEW FILEを作成します。これらの9枚のシートは親ファイルからのものです(新しいファイルにすべて表示されますが、親ファイルには隠されています)。 私のマクロは、親シートに9つのファイルを表示します(これは必要ありません)。新しく生成されたファイルにファイルを隠します(これはもう必要ありません)。それで、私は両方の逆を行います。 – Eric