1

我有以下问题:我想为单元格 A1 尝试不同的值。每次我将值输入 A1 时,单元格 B1、C1、D1 和 E1 都会发生变化。有什么方法可以创建一个新表,自动将这些迭代的结果复制到单独的单元格中。例如:我选择 A1 = 10。这会自动出现在 A3 处。B1、C1、D1和E1的所有值然后自动全部存储在B3、C3、D3和E3中。然后我更改 A1 = 20。B1、C1、D1 和 E1 的所有新值现在都存储在 B4、C4、D4 和 E4 中。

关于如何做到这一点的任何建议?感谢您的时间!

4

2 回答 2

1

将此代码放在工作表 Worksheet_Change 模块中,每次更改单元格 A1 时,结果将从第 3 行向下添加。

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Integer
    i = 3

    'If there is a change to A1
    If Target.Address = ActiveSheet.Range("A1").Address Then
        Do Until ActiveSheet.Cells(i, 1).Value = vbNullString
            i = i + 1
        Loop

        ActiveSheet.Cells(i, 1).Resize(, 5).Value = ActiveSheet.Range("A1:E1").Value
    End If
End Sub
于 2013-03-11T19:09:04.633 回答
0
  1. 如果 A1 改变,单元格 b1、c1、d1 和 e1 改变,这可以通过通常的代码来解决
  2. 对于自动添加新行,您可以使用此宏
Sub Macro4()
'
' Macro4 Macro
'
' Keyboard Shortcut: Ctrl+t
'
Range("A1:E1").Select
Selection.Copy
Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
End Sub

要使用该宏,您只需按 ctrl + t,(键盘快捷键由您决定)

于 2013-03-11T18:58:44.880 回答