0
こんにちは私は以下のコードを試しましたが、それは誰も私を助けることができるように動作していないようです。私は、B1がテキストDelete
を持っているときに3 & 4の行を非表示にしたいだけです。しかし、B1にDelete
と入力すると自動的に実行されます。Excelマクロクエリ:セル値に基づいて行を非表示
おかげ
こんにちは私は以下のコードを試しましたが、それは誰も私を助けることができるように動作していないようです。私は、B1がテキストDelete
を持っているときに3 & 4の行を非表示にしたいだけです。しかし、B1にDelete
と入力すると自動的に実行されます。Excelマクロクエリ:セル値に基づいて行を非表示
おかげ
このような何かが
Option Explicit 'Very first line to ensure that variables are declared
Private Sub Worksheet_Change(ByVal Target As Range)
'check if target address is B1
If Target.Address(RowAbsolute:=False, ColumnAbsolute:=False) = "B1" Then
ShowHideRows
End If
End Sub
Public Sub ShowHideRows()
If Range("B1").Value = "Delete" Then
Rows("3:4").EntireRow.Hidden = True
Rows("7:8").EntireRow.Hidden = False
ElseIf Range("B1").Value = "Open" Then 'use ElseIf if possible like here
Rows("3:4").EntireRow.Hidden = False
Rows("7:8").EntireRow.Hidden = True
End If
End Sub
注動作するはずです:これは大文字と小文字が区別されを。だからDelete
の代わりにB1 delete
と入力すると実行されません。大文字と小文字を区別しないようにするには、
LCase(Range("B1").Value) = "delete" 'string delete must be lower case!
などのように、
LCase()
を使用してください。次の投稿を確認し、問題に適切なコードが含まれているかどうかを確認して、含まれているエラーとエラーが受信されていることを確認してください: https://stackoverflow.com/help/how-to-ask – garfbradazコード画像として。それをテキストとして組み込み、コードブロックとしてフォーマットすると、人々があなたを助けるのがはるかに簡単です。 –