
No.10ベストアンサー
- 回答日時:
自動の意味がはっきりしないので、2つ書いてみました。
1.セルに『無し』と力すれば機能するマクロ
2.『無し』の入力済みのセルを非表示にするマクロ
両方とも、Sheet1を対象にし、Sheet1 のコードウインドウに貼り付けています。
'// ■ セルに『無し』と力すれば機能するマクロ ■
'// C列の3行目以降に『無し』を入力すると、その行を非表示にする
'// 『無し』をコピーして複数セルに貼り付けても可
'// ※しかし、あまり多数のセルを操作すると重くなるので、
'// 100個以上は処理しないようにしています
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 100 Then Exit Sub '// 多数のセルの修正は無視する
Dim rg As Range '// セル
For Each rg In Target
If rg.Column = "3" Then '// C列なら
If rg.Value = "無し" Then
Rows(rg.Row).Hidden = True
'// 下2行を有効にすると、セルの『無し』をクリアすると行が表示される
'Else
' Rows(rg.Row).Hidden = False
End If
End If
Next
End Sub
'// ■ 『無し』の入力済みのセルを非表示にする(マクロで一括処理) ■
'// C列で3行目から下のセルに『無し』があれば、行を非表示にする
Sub selectRowHidden()
Dim rw As Long '// 行カウンタ
For rw = 3 To Range("C65536").End(xlUp).Row
If Range("C" & rw).Value = "無し" Then
Rows(rw).Hidden = True
End If
Next
End Sub
二つのパターンを記述して下さってありがとうございます!
書き方が悪くてすみませんでした、私が求めていたやり方は、
>■ 『無し』の入力済みのセルを非表示にする(マクロで一括処理) ■
こちらの方でした!まさにぴったりの方法です!
でも、
>■ セルに『無し』と力すれば機能するマクロ ■
これもとてもいいと思います!
どちらにするのかはリクエスターのかたと相談して決めてこうと思います!
nishi6さん!本当にありがとうございましたm(_ _)m
また、皆様!アイデアやお力をお貸し頂きましてありがとうございました!
No.9
- 回答日時:
#7の補足
RANGE(C,n)は、厳密に表記すれば、RANGE("C"& n)で、nを3からデータが存在する限りカウントアップして"無し"かどうかチェックし"無し"なら当該行を削除する。ただし行を削除した場合、カウントを1つ下げるのを忘れないこと。
しかし、オートフィルタが簡単でしょうね。
No.8
- 回答日時:
#5です。
>実は、3行目以降のセルに「無し」と書いてある行、「有り」と書いてある行、「空白」のある行があるとして
「無し」「有り」「空白」の入っている列はC列(だけ)ですよね。
●一部訂正してみます。
Sub test01()
Range("A65536").End(xlUp).Select
d = Selection.Row
MsgBox d
For i = 3 To d
If Cells(i, "C") = "無し" Then
Cells(i, "C").EntireRow.Hidden = True
End If
Next
End Sub
とMsgbox dを入れて、実行すると表示(数字)はいくらと出ますか。最下行の番号数字ですか。
●「無し」とは入っている行だけ非表示にしてますが
表のC列の「無し」の文字前後にスペースなどが入っていませんか。
昨日は、もうヘトヘトになってしまいましたので、
ご飯を食べてから早く寝てしまいました・・・、すみませんでした<(_ _)>
そして、改めてお礼申し上げます。
>「無し」「有り」「空白」の入っている列はC列(だけ)ですよね。
説明抜けてまして申し訳有りません。
そうですC列での話です。
今いろいろ探り探りと実験をしつつ進めていますので、
本番のファイルを作る時はD列とかE列になるかも
しれませんが、それはその都度コードを「C」から
「D」とかに変えてみてやってみようと思ってました。
例えばD列にしたい場合は、コードを
If Cells(i, "D") = "無し" Then
Cells(i, "D").EntireRow.Hidden = True
という感じよろしかったですよね?
>Msgbox dを入れて、実行すると表示(数字)は
>いくらと出ますか。最下行の番号数字ですか。
まず、マクロを実行してみましたら、ダイアログが
出てきまして、常に「1」の数字と「OK」ボタンが
出てきました!!?
数字とはこの「1」のことですか?
>表のC列の「無し」の文字前後にスペースなどが
>入っていませんか。
C列の「無し」は中央揃えなどしてみたりしてますが、スペースを入れたりはしてません。
何か参考になりますでしょうか?
No.7
- 回答日時:
C列3行目以降に「無し」となってれば、その行全体を削除したいということですね。
マクロでRANGE(C,n)を順に見て(nを3からデータ長分ループ)「無し」ならその行を削除することも可能です。
しかし難しく考えず、オートフィルタでC列が「無し」と等しくないとすればいかがでしょう。「無し」の行が非表示になります。しかし3行目以降というのが良く分かりませんが・・・。1~2行目に「無し」があっても非表示にしないという意味でしょうか。
アドバイスありがとうございます!
>C列3行目以降に「無し」となってれば、
>その行全体を削除したいということですね。
実は、これに似た質問を昨日したのですが、もう一つのパターンとして「非表示」の方法も知っておきたかったので改めて質問させて頂きました。最終的にどっちにしようか決めようと思いまして・・・
>オートフィルタでC列が「無し」と等しくないと
>すればいかがでしょう。「無し」の行が非表示に
>なります。
オートフィルタの案もとても名案だと思いましたので、候補に入れています。ですが、VBAの勉強のためにも(というよりVBAの勉強の動機づけも深めるためにかな^^;)、「行」を非表示のやり方も完成させたかったのです。。
>しかし3行目以降というのが良く分かりませんが・・・。
>1~2行目に「無し」が
>あっても非表示にしないという意味でしょうか。
「3行目以降」というのは、例えばって話だったのですが、1~2行目は「項目」などで使うかな・・・、っていうのをイメージして「3行目以降」ということにしました。なので状況に応じてコードは4行目からとか、5行目からとかに変えようと考えていました。
No.6
- 回答日時:
条件付書式を使って、セルの内容が「無し」なら、フォントの色を白(バックの色)にすると見かけ上非表示になります。
ご返信ありがとうございます。
今回行を詰める方法を探していましたが、miwakiさんのアドバイスも今後の参考にさせて頂きます<(_ _)>
No.5
- 回答日時:
#2です。
>セルを選択しないで(マクロを実行し「無し」の文字がある行を)非表示にする方法まではさすがにないでしょうか
セル選択を使用者に許した方が、自由度が上がると思いまして、そうしました。
「無し」の入った列は、例えば列Cとか1列だけとし第3行目以下データ空白行などはない、「リスト形式」の表であるのなら
Sub test01()
d = Range("A3").CurrentRegion.Rows.Count
For i = 3 To d + 2
If Cells(i, "C") = "無し" Then
Cells(i, "C").EntireRow.Hidden = True
End If
Next
End Sub
この回答への補足
家に帰ってさっそくやってみました!
ですが、3行目だけしか非表示にならないのです(T_Y)
実は、3行目以降のセルに「無し」と書いてある行、「有り」と書いてある行、「空白」のある行が
あるとして、「無し」の行だけを非表示にして
(マクロ+ボタンなども使って自動化して)周りの
人も見やすく使いやすくしたいという要望があり、
挑戦しているところです^^;;
無理ならしかたないと言ってくれましたが、
私としてはいいものを使ってもらいたいという
気持ちもありまして…
マクロの記録の仕方やボタンの作り方・登録の仕方は
わかります。ですがVBAの分野までになるとまだ・・・
お手が空きましたら今一度、ご助言頂けないでしょうか?imogasiさんの記事が今回一番近い気がするのです<(_ _)>お願いします
No.3
- 回答日時:
内容を非表示とし、空白行として見せたいということであれば、
条件付き書式で可能だと思います。
3行目を選択して「ツール」から「条件付き書式」を選択肢。
「数式が」として「=$C3="無し"」として書式で文字色を
「白」とします。(背景色と同じにする。)
後は、書式コピーで次行以下にコピーすればOKです。
「非表示」というのが、その分行を詰めて表示したい、
ということであれば、この回答は無視して下さい。
アイデア感謝します<(_ _)>
ですが、リクエスターの希望と致しましては
>行を詰めて表示したい、
とのことでした。。
でも、この方法も、他の場面で役に立ってくるかもしれませんので一つの方法として心に留めておきます!(^0^)!
No.2
- 回答日時:
VBAで下記を標準モジュールに貼りつける。
Sub test01()
Dim cl As Range
For Each cl In Selection
If cl = "無し" Then
cl.EntireRow.Hidden = True
End If
Next
End Sub
「無し」が入っている・または入っていないか、を判別をする範囲を指定(2列以上でも可はテスト済み)して、
実行。
入っている行は非表示になります。
コマンドボタンをシートに貼りつけ、クリックイベントを
実行のキッカケにすることも出来ます。
いつもお世話になっております!
かなり、私の求めてた形に近いです!
セルを選択しないで(マクロを実行し「無し」の文字がある行を)非表示にする方法まではさすがにないでしょうか?
私もこれからエクセルの上級の資格を取得してからマクロ・VBAなども専門に勉強してみようと考えてるのですが、今の地点ですとあまりに難しすぎるので、出来ればお力をお貸し頂けないでしょうか?
よろしくお願い致しますm(_ _)m
No.1
- 回答日時:
自動でというのは無理です。
手動でも良いなら、作業用の列に
=IF(ISERROR(FIND("無し",C3)),"",1)
と入力し、必要行だけコピー。
その後オートフィルタをかけて非表示にするという手があります。
>作業用の列に
=IF(ISERROR(FIND("無し",C3)),"",1)
と入力し、
これを(C3のセルで)やってみたのですが、セルに入力してエンターを押しましたら何やら長いエラーが出てしまいます。。
また、色々試してみます!
アドバイスありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) エクセルのことで教えてください。 A1セルに、 別シートのA1セルが1のときは「A」、2のときは「B 4 2023/02/24 23:08
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Excel(エクセル) エクセル セル内の文字数を超えたら自動的に折り返して表示 2 2023/07/24 05:32
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Visual Basic(VBA) 【Excel VBA】条件に合った行の表示・非表示を行う方法 3 2023/03/18 12:31
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
おすすめの美術館・博物館、教えてください!
美術館・博物館が大好きです。みなさんのおすすめをぜひお聞きしたいです。
-
もし10億円当たったら何に使いますか?
みなさんの10億円プランが知りたいです!
-
あなたの人生で一番ピンチに陥った瞬間は?
これまでの人生で今振り返ると「あの時、1番ピンチだったなぁ...」という瞬間はありますか?
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
エクセルで複数の特定の文字列をふくむ行を非表示にしたい。
Excel(エクセル)
-
エクセルで特定の数字等を表示させない方法ってあるのでしょうか?
Excel(エクセル)
-
条件に応じて特定の行を非表示にしたい
Excel(エクセル)
-
-
4
エクセルの特定の文字を表示、非表示に切り替えたい
Excel(エクセル)
-
5
エクセルで特定の値を含む列のみVBAで非表示にしたい
Excel(エクセル)
-
6
エクセル:特定の文字が入った行のみ非表示にしたい
Excel(エクセル)
-
7
エクセルで特定の列が0表示の場合、その行を非表示にしたい
Excel(エクセル)
-
8
あるセルに特定の文字列を打つと、他のセルに決められた文字が自動入力するように
Excel(エクセル)
-
9
指定した条件で行セルを非表示にするVBAについて
Visual Basic(VBA)
-
10
列から特定の文字列検索→該当以外の「行」隠すマクロ
その他(Microsoft Office)
-
11
【Excel】 指定した文字を表示しない様にしたい。
Excel(エクセル)
-
12
エクセルで特定の列のセルに特定の文字が入っている行を非表示にする方法を教えてください。
Excel(エクセル)
-
13
特定のセルが空白だったら、その行を非表示にしたい。。。
Visual Basic(VBA)
-
14
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
15
IF関数などを使って条件に合った「行」を削除するような機能はありますでしょうか?
Excel(エクセル)
-
16
エクセルでセルが空白だったらその行を表示させない方法を教えてください。
Excel(エクセル)
-
17
エクセルで指定のセルのみ完全非表示にしたい。
Excel(エクセル)
-
18
条件付き書式のコピーについて(参照先も自動で変更したい)
Excel(エクセル)
-
19
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
20
VBAで特定の文字が入力されたセルを選択
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel関数】UNIQUE関数で"0"...
-
結合されたセルをプルダウンの...
-
特定の文字がある行以外を削除...
-
Excel グラフのプロットからデ...
-
エクセルのセルに指定画像(.jpg...
-
エクセル マクロ オートフィ...
-
エクセル マクロで数値が変っ...
-
エクセルで特定の文字列が入っ...
-
電話番号の入力方式が違うデー...
-
エクセルマクロで偶数行(又は...
-
EXCELマクロを使い、空白行では...
-
excelのデータで色つき行の抽出...
-
連続データが入った行の一番右...
-
[EXCEL]ボタン押す→時刻が表に...
-
エクセルVBA 最終行を選んで並...
-
エクセル 時間の表示形式AM/PM...
-
A1に入力された文字列と同じ文...
-
アクティブになっている行をマ...
-
エクセル 上下で列幅を変えるには
-
Excelでカタカナ・ひらがな・英...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel関数】UNIQUE関数で"0"...
-
エクセルで特定の文字列が入っ...
-
特定の文字がある行以外を削除...
-
[EXCEL]ボタン押す→時刻が表に...
-
Excel グラフのプロットからデ...
-
エクセル マクロ オートフィ...
-
エクセル マクロで数値が変っ...
-
結合されたセルをプルダウンの...
-
Excelのフィルター後の一番上の...
-
excel 小さすぎて見えないセル...
-
エクセル 上下で列幅を変えるには
-
エクセルマクロで偶数行(又は...
-
Excel ウインドウ枠の固定をす...
-
EXCELで最後の行を固定
-
VBAで色の付いているセルの行削除
-
連続データが入った行の一番右...
-
エクセル 時間の表示形式AM/PM...
-
エクセルのセルに指定画像(.jpg...
-
エクセルVBA 最終行を選んで並...
-
アクティブになっている行をマ...
おすすめ情報