1

これは基本的に、3 種類のコンテンツを含むメール テンプレートです。
コンボ ボックス リストを含む Excel シートがあります。リストには値 1、2、および 3 があります。 & 3 つの異なるタイプのコンテンツがあります。いずれかを選択した場合。残りのコンテンツは非表示にする必要があります。

4

1 に答える 1

3

Range("A1")さまざまなオプション(私の例では1〜3)で検証オプションが設定されていると仮定します。適切なシート モジュールに次のコードを配置し、必要に応じて変更します。

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Dim rngOpt1 As Range
Dim rngOpt2 As Range
Dim rngOpt3 As Range
'you doesn't need to put rows references here
'as we deal with it later
    Set rngOpt1 = Range("b10:c15")   'first area to be hidden
    Set rngOpt2 = Range("d16:e20")   'second...
    Set rngOpt3 = Range("f21:g25")   'you can guess
If Range("A1") = 1 Then 'your validation cell
    rngOpt1.EntireRow.Hidden = False
    rngOpt2.EntireRow.Hidden = True
    rngOpt2.EntireRow.Hidden = True
ElseIf Range("A1") = 2 Then
    rngOpt1.EntireRow.Hidden = True
    rngOpt2.EntireRow.Hidden = False
    rngOpt2.EntireRow.Hidden = True
Else
    'you can do it on you own... :)
End If
End If
End Sub

A1 の値を変更するたびに、適切な行範囲が非表示になります。私はその効率性を特に誇りに思っているわけではありませんが、それは私の最初のアイデアでした.

于 2013-03-23T07:44:09.823 に答える