これが私のシナリオです-シートの列Aに顧客リストがあります-関連データとともに...マトリックスを作成したい別のシートがあります...しかし、行1に沿って顧客リストがあります.
シート 1 の列に追加された新しい顧客をシート 2 の行に追加したい
これはどのように行われますか?
これが私のシナリオです-シートの列Aに顧客リストがあります-関連データとともに...マトリックスを作成したい別のシートがあります...しかし、行1に沿って顧客リストがあります.
シート 1 の列に追加された新しい顧客をシート 2 の行に追加したい
これはどのように行われますか?
あなたの VBA 機能のレベルはわかりませんが、最初のシートのコード ビハインドで Workhseet_Change イベントをキャプチャできます。
更新されたセルが列 A にあるかどうかを確認できます。そうである場合は、その値をシート 2 の最初の行に追加できます。
開始するのに役立つコードを次に示します。
Private Sub Worksheet_Change(ByVal Target As Range)
'check to make sure the updated cell (Target) is in column 1 (column A)
If Target.Column = 1 Then addToSheet2 (Target.Value2)
End Sub
Private Sub addToSheet2(ByVal newValue As Variant)
Dim ws As Worksheet
Dim columnCount As Integer
Dim nextColumn As Integer
On Error GoTo errTrap
Set ws = ThisWorkbook.Sheets(2) 'probably want to use the sheet name, instead of the index
'probably a good idea to check if it already exists in row 1 of sheet 2
'get the number of columns used in sheet 2
columnCount = ws.UsedRange.Columns.Count
'this may be overkill, but if you are starting from scratch, columnCount will be 1 even if
'there is no data in sheet 2 row 1
If columnCount = 1 And ws.Range("A1").Value2 = vbNullString Then
nextColumn = columnCount
Else
nextColumn = columnCount + 1
End If
ws.Cells(1, nextColumn).Value2 = newValue
errTrap:
Set ws = Nothing
End Sub