在Excel中创build临时表来执行计算

首先,我search了一下类似的线索,并尝试了提出的解决scheme,解决了别人的问题,但是对我而言并没有奏效。

我基本上想要创build临时Excel表,我想要在后端执行所有计算,并只显示前端工作表中的用户输出。

任何人都可以告诉我如何去创build临时工作表并删除他们,只要数字复制在前端工作表,即用户将看到的工作表。

我的主要动机是不让用户看到在后端发生的各种计算。

你可以在VBA中用Sheets.Add.Name = "Temp Sheet"或任何其他的名字来创build一个临时表单,在你完成了计算之后,用Sheets("Temp Sheet").Delete警报就会提示用户同意删除工作表,您可以通过使用Application.DisplayAlerts = False来避免在删除之前和之后按Application.DisplayAlerts = True

我build议隐藏一张表来执行计算,而不是创build临时表。

假设你有input表,用户input他的数据。 另一张纸是隐藏的。 在那里进行计算。

如何隐藏表单?

转到VBA代码编辑器窗口(ALT + F11)。 select要隐藏的工作表。 在“属性”窗口中select选项:SheetHidden。 现在,您可以通过使用macros将隐藏表单中的数据复制到目标表单中。

 ThisWorkbook.Worksheets("HiddenSheetName").Range("A1:C56").Copy ThisWorkbook.Worksheets("VisibleSheetName").Range("A66:C106").PasteSecial xlValues 

注:我写了上面的代码直接从我的头上。 没有testing!

示例代码来创build临时表:

 Sub Sample() Dim TempSheet As Worksheet Application.ScreenUpdating = False On Error Goto ErrorHandler: Set TempSheet = ThisWorkbook.Worksheets.Add TempSheet.Visible = xlSheetHidden 'Do the calculations Application.DisplayAlerts = False TempSheet.Delete Application.DisplayAlerts = True ErrorHandler: Application.ScreenUpdating = True End Sub