私は同様の質問に対するいくつかの回答を見つけましたが、私の人生のためにこの仕事をすることはできません。私は自動的にセルの入力に基づいて行を非表示にしようとしています。私は列AからJまでのデータを持っていますが、列Kに値を入力する行を自動的に隠したいと思います。これができると確信していますが、私はVBAマクロを動作させるために努力しています!条件に基づいてExcelで行を自動的に隠す
ご協力いただければ幸いです。
ありがとうございます!
私は同様の質問に対するいくつかの回答を見つけましたが、私の人生のためにこの仕事をすることはできません。私は自動的にセルの入力に基づいて行を非表示にしようとしています。私は列AからJまでのデータを持っていますが、列Kに値を入力する行を自動的に隠したいと思います。これができると確信していますが、私はVBAマクロを動作させるために努力しています!条件に基づいてExcelで行を自動的に隠す
ご協力いただければ幸いです。
ありがとうございます!
シートにワークシートの変更イベントが必要です。あなたはそれが行全体を非表示になりますk個の列の任意のセルの値を変更すると あなたのシート
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 11 Then ' Column K is column number 11
Target.EntireRow.Hidden = True
End If
End Sub
のコードセクションにこのコードを入れてください。
UsedRangeでのみ動作させたい場合は、そのように動作するようにコードを編集することもできます。
ユーザーが削除キーを押すとどうなりますか?行はまだ隠されませんか? – Davesexcel
OPは、削除キーが押されているのではなく、セルに入力されているものを検出したいと言っていました。 – dinotom
ありがとう!これはうまくいった! –
これを試してください。列Kのすべてのセルをループし、任意のテキストでセルを非表示にします。
Sub AutoHideRows()
'Get the last row of the used range
Dim LastRow As Long
LastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
'Loop through the range looking for non-blank values, and hide those rows
Dim c As Range
For Each c In Range("K1:K" & LastRow)
If c.Value <> "" Then
c.EntireRow.Hidden = True
Else
c.EntireRow.Hidden = False
End If
Next c
End Sub
データの最初の行に列見出しが含まれており、フィルタから除外したい場合は、このコード行に変更します。これに
For Each c In Range("K1:K" & LastRow)
:
For Each c In Range("K2:K" & LastRow)
をお役に立てれば!
こんにちは、 お返事ありがとうございます。私はこれを試して、何か(アルファまたは数値)を列Kの任意のセルに入れても何も起こりません。 何か他に何かする必要がありますか? –
あなたの例では、ループの代わりに 'specialcells'を使うことができます。' Range( "K2:K"&lastrow).SpecialCells(xlCellTypeConstants、23).EntireRow.Hidden = 1' – Davesexcel
@dinotomの回答のバリエーションです。それはあなたが列Kに値を入力すると、行全体を隠しではなく、あなたが列K.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 11 And Target.Value <> "" Then ' Column K is column number 11
Target.EntireRow.Hidden = True
End If
End Sub
から値を削除する場合は、あなたがこれまでに試したものを投稿してください、そしてあなたがそのアプローチをしようとしたときに正確に失敗しました。 。 – Mikegrann
@Matt Marshal ...私は以下の答えを投稿しましたが、Mikegrannがあなたに語っていることはあなたがここで初心者であることを認めています。あなたが試したコードを投稿して、うまくいきません。誰でもあなたを助けるためにここにいる。 – dinotom
申し訳ありません。私はStackOverflowを検索して見つけたいくつかのアイテムを試しました。私はそれをすべて削除し、新鮮に始めることを決めました。 私はこれから投稿することができるように、私が今からやることを保存します。 ありがとう! –