を削除します。ここで
は、私は一緒に入れて簡単な例です:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Dim Sheet2 As Worksheet
Dim lastColumn As Long
Dim lastRow As Long
Set KeyCells = Range("A1:C5")
Set Sheet2 = ActiveWorkbook.Sheets("Sheet2")
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
lastRow = Sheet2.Cells(Rows.Count, "A").End(xlUp).Row
' Start on second row
If lastRow = 1 Then lastRow = 2
lastColumn = Sheet2.Cells(lastRow, Columns.Count).End(xlToLeft).Column
' Move to next row after the 5th column
If lastColumn > 5 Then
lastRow = lastRow + 1
lastColumn = 1
End If
Sheet2.Cells(lastRow, lastColumn + 1).Value = Target.Value
End If
End Sub
行2日以降に開始するシートの値が書き込まれる2にシート1にC5を通じてセルA1に入力されているものは何でも値が書き込まれます。この機能5列目の新しい値が自動的に次の行に書き込まれます。
この例を具体的な状況に合わせて調整する必要がありますが、うまくいけば正しい方向に着手するのに役立ちます。
すべてのデータがsheet1に入力されるまで待つ場合は、まず、類似のマクロをトリガするボタンを追加して、上のような正しい行/列にデータを動的にコピーします。
希望に役立ちます!
「ランダム」を本当に意味しますか? sheet1の特定のセルは、sheet2の特定の列に対応する必要がありますか?私はここで少し詳しい情報が必要だと思う。これまでに何を試しましたか? –
@ジョシュア・ハイソン:「ランダムアクセス」は次のように読み込まれます。 –
マクロを記録することから始めることができます。次に、そこに表示されるすべての「選択」と「有効化」を削除してクリーンアップします。このフォーラムではたくさんの例があります。コピーするセルの選択項目を入力するユーザーフォームの開発も検討する必要があります。問題に遭遇した場合は、コードをポストバックしてください。 –