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 に答える