1

ここに画像の説明を入力

エクセルで「入力欄」に「A」と入力すると、写真のようにハリー、ジョシュ、ロブ、ピーターが自動入力されるようにしたいです。

同様に、「入力列」に「B」と入力すると、キム、ナンシー、ポール、ジョージが自動入力されるようにしたいのですが、VBAコードを投稿してこれを行うことはできますか、それとも式自体で行うことができますか?

4

1 に答える 1

4

自動化されたコード ソリューション:

  • シート タブを右クリックし、[コードの表示] を選択します。
  • 以下のコードをコピーして貼り付けます
  • Alt+を押しF11て Excel に戻ります

このコードは、1 つ以上のセルColumn A(つまり、「ターゲット列」 ) が変更されるたびに、必要な変更を行います。

代わりに列 B を使用するには、
Set rng1 = Intersect(Target, Columns("B"))
etcを試してください

コード

    Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng1 As Range
Dim rng2 As Range
Set rng1 = Intersect(Target, Columns("A"))
If rng1 Is Nothing Then Exit Sub
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
For Each rng2 In rng1
Select Case UCase$(rng2.Value)
Case "A"
rng2.Offset(0, 1).Resize(1, 2) = Array("Harry", "Josh")
rng2.Offset(1, 1).Resize(1, 2) = Array("Rob", "Peter")
Case "B"
rng2.Offset(0, 1).Resize(1, 2) = Array("Kim", "Nancy")
rng2.Offset(1, 1).Resize(1, 2) = Array("Paul", "George")
End Select
Next
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub
于 2012-12-11T01:03:12.703 に答える