在 运行 代码后记住原始值
Remember original value after running code
我正在尝试创建一个按钮,该按钮 运行 是 Excel 中相当简单的 VBA 代码,但我不确定如何处理最后一部分。
基本上我的代码所做的是复制 3 个不同的单元格,运行 一个计算,然后复制其他 3 个单元格,然后在不同的单元格中进行相同的计算。
在那段代码 运行 之后,我想将 Sheet Y B8、B9 和 I3 中的值恢复为代码 [=21] 之前的原始值=].我该怎么做?
Sub Klima()
Sheets("X").Range("M5").Copy Destination:=Sheets("Y").Range("B8")
Sheets("X").Range("M6").Copy Destination:=Sheets("Y").Range("B9")
Sheets("X").Range("M7").Copy Destination:=Sheets("Y").Range("I3")
Range("M8").Value = Evaluate("(SUM(Y!$H:$H97)*60)/1000")
Sheets("X").Range("N5").Copy Destination:=Sheets("Y").Range("B8")
Sheets("X").Range("N6").Copy Destination:=Sheets("Y").Range("B9")
Sheets("X").Range("N7").Copy Destination:=Sheets("Y").Range("I3")
Range("N8").Value = Evaluate("(SUM(Y!$H:$H97)*60)/1000")
End Sub
将您的值存储在一个变量中,进行计算并恢复它们。
Option Explicit
Public Sub Remember()
With Sheets("Y")
'store values in variables
Dim ValB8 As Variant
ValB8 = .Range("B8").Value
Dim ValB9 As Variant
ValB9 = .Range("B9").Value
Dim ValI3 As Variant
ValI3 = .Range("I3").Value
'do your calculation
Klima
'restore original values
.Range("B8").Value = ValB8
.Range("B9").Value = ValB9
.Range("I3").Value = ValI3
End With
End Sub
我正在尝试创建一个按钮,该按钮 运行 是 Excel 中相当简单的 VBA 代码,但我不确定如何处理最后一部分。
基本上我的代码所做的是复制 3 个不同的单元格,运行 一个计算,然后复制其他 3 个单元格,然后在不同的单元格中进行相同的计算。
在那段代码 运行 之后,我想将 Sheet Y B8、B9 和 I3 中的值恢复为代码 [=21] 之前的原始值=].我该怎么做?
Sub Klima()
Sheets("X").Range("M5").Copy Destination:=Sheets("Y").Range("B8")
Sheets("X").Range("M6").Copy Destination:=Sheets("Y").Range("B9")
Sheets("X").Range("M7").Copy Destination:=Sheets("Y").Range("I3")
Range("M8").Value = Evaluate("(SUM(Y!$H:$H97)*60)/1000")
Sheets("X").Range("N5").Copy Destination:=Sheets("Y").Range("B8")
Sheets("X").Range("N6").Copy Destination:=Sheets("Y").Range("B9")
Sheets("X").Range("N7").Copy Destination:=Sheets("Y").Range("I3")
Range("N8").Value = Evaluate("(SUM(Y!$H:$H97)*60)/1000")
End Sub
将您的值存储在一个变量中,进行计算并恢复它们。
Option Explicit
Public Sub Remember()
With Sheets("Y")
'store values in variables
Dim ValB8 As Variant
ValB8 = .Range("B8").Value
Dim ValB9 As Variant
ValB9 = .Range("B9").Value
Dim ValI3 As Variant
ValI3 = .Range("I3").Value
'do your calculation
Klima
'restore original values
.Range("B8").Value = ValB8
.Range("B9").Value = ValB9
.Range("I3").Value = ValI3
End With
End Sub