1

我有一个单元格 (S1) 在“工作表 2”上的“工作表 1”上有一个动态值我想取 (S1) 的值并将 (S1) 单元格的状态复制到第二张工作表但保留更改之前的值。我希望这是动态完成的有没有办法?

4

3 回答 3

0

使用 vba,您可以获得如下值,只需将宏链接到按钮:

Worksheets(2).Range("s2").value = worksheets(1).Range("S1").value

或者您可以剪切和粘贴特殊的值

于 2013-10-03T23:56:44.747 回答
0

尝试这个:

Sheets("Sheet1").Range("S1").Copy
Sheets("Sheet2").Range("S1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, _
    Operation:=xlNone, SkipBlanks:=False, Transpose:=False

这是将 S1 的值从 Sheet1 转移到 Sheet2 的 S1 的简单方法。
我不确定您的 Sheet1-S1 值如何变化,但您可以将此代码放在转换之间。

于 2013-10-04T00:41:58.827 回答
0

如果您更喜欢使用 vba,则需要将代码粘贴到 sheet1(代码部分)。
当 Sheet1 的单元格 S1 中的值发生更改Worksheet_Change时,将调用事件并复制单元格的新值(它不保留旧值)。如果您想为 S1 Sheet1 创建所有值的日志,这将很有帮助。

 Private Sub Worksheet_Change(ByVal Target As Range)

    On Error Resume Next

    Application.EnableEvents = False

    Dim rng As Range
    Set rng = Range("S1")

    If Not Intersect(Target, rng) Is Nothing Then

       ' Sheets("Sheet2").Range("S1") = Target.Value

        Sheets("Sheet2").Range("S" & Sheets("Sheet2").Range("S" & Rows.Count).End(xlUp).Row + 1) = Target.Value
    End If

    Application.EnableEvents = True

End Sub
于 2013-10-04T01:41:55.290 回答