1

私はエクセルとマクロの仕事を任されていますが、それらについてはあまり意識していません。タスクは、前の列の合計が 0 の場合、次の列を自動的に非表示にすることです (更新または F2 を押すことなく)。また、その合計が >=0 の場合は、自動的に非表示を解除します (更新または F2 を押すことなく)。

列と行のセット (C11 から C20 など) があり、そこで値 (0 または >=0 など) を入力する必要があり、最後のセル (C20 など) に到達すると、特定の列 (C11 からC20)、合計が 0 の場合、次の列 (D など) はキーを押さずに非表示にする必要があります。合計が >=0 の場合、列 D はそのままである必要があります。

私を助けてください。

列を非表示にするコードは次のとおりです。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$C$31" Then
If Target <= 0 Then
Range("D31").EntireColumn.Hidden = True
Else
Range("D31").EntireColumn.Hidden = False
End If
End If

If Target.Address = "$D$31" Then
If Target <= 0 Then
Range("E31").EntireColumn.Hidden = True
Else
Range("E31").EntireColumn.Hidden = False
End If
End If

If Target.Address = "$E$31" Then
If Target <= 0 Then
Range("F31").EntireColumn.Hidden = True
Else
Range("F31").EntireColumn.Hidden = False
End If
End If

End Sub
4

1 に答える 1

1

これは、この長い間グーグルで検索した後に見つけた解決策です。現在、これを1列のみに使用しています。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rCell As Range

For Each rCell In Range("C11:C31")
If Range("C31").Value = "0" Then
    Range("D31").EntireColumn.Hidden = True
Else
If Range("C31").Value <> "0" Then
    Range("D31").EntireColumn.Hidden = False
End If
End If
Next rCell

End Sub
于 2013-09-18T12:59:40.853 に答える