人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

このようなシートがあるとします。
http://figuami.web.fc2.com/excel.jpg

B2に「あ」と入力すると5、365、366行目のみ表示する方法を教えてください。
簡単だと思いますが、ど忘れして調べるのが面倒なので・・・。


●質問者: plugbot
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:b2 入力
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● きゃづみぃ
●20ポイント

すみません。


http://figuami.web.fc2.com/excel.jpg を 開こうとすると

403 Forbidden

あなたには、このファイルにアクセスする権限がありません。

となります。

それで

>B2に「あ」と入力すると5、365、366行目のみ表示する方法を教えてください。

ですが、マクロを用いて やればいいのでしょうか?

それとも 関数のみでしょうか?

関数だと

=IF(B2="あ","表示する","")

というようなのを それぞれの行に入れたらいいのかなと思います。

◎質問者からの返答

失礼しました。外部から呼び出せないみたいなので修正します。

http://figuami.web.fc2.com/excel.html

たぶん関数は使わずにできると思うのですが・・・。

フィルタか集計とかそんなもので。


2 ● きゃづみぃ
●20ポイント

http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter.htm

オートフィルタにして

オプションで

あ で始まる

という設定で抽出すれば 質問のようになります。

が、B2に入れただけで そうなる方法は マクロ(VBA)を使うしかないです。

◎質問者からの返答

ではVBAを使う方法を教えていただけないでしょうか。

投稿回数制限を変更しました。気づくの遅くてすみません。


3 ● きゃづみぃ
●20ポイント
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Row = 2 And Target.Column = 2 Then
 a = Range("B2")
 For b = 3 To 65536
 c = Range("B" & b)
 If c <> "" Then
 If a = Left(c, Len(a)) Then
 Rows(b & ":" & b).EntireRow.Hidden = False
 Else
 Rows(b & ":" & b).EntireRow.Hidden = True
 End If
 End If
 Next b
 End If
End Sub

B2に入れたら該当する行を 表示、ほかは 非表示にします。

マクロは それぞれのシートのほうに記述します。

◎質問者からの返答

どこに書けばよいかわかりません。VB editerを開いてどこかに書くのですか?


4 ● きゃづみぃ
●20ポイント

プロジェクトの一覧が 左側に 並んでいると思いますが、

そこの使用したいシートをダブルクリックして 開いて そこに貼り付ければいいです。

Sheet1だったら Sheet1

貼り付けたら、Sheets1のB2に何か文字を入れて エンターとします。

すると その文字と先頭一致するセルの行が表示になり

それ以外が 非表示となります。

また、何もないセルは 無視されます。

◎質問者からの返答

できました!

>その文字と先頭一致するセルの行が表示になり

「その文字を含む行すべて」というのはできないのでしょうか。


5 ● きゃづみぃ
●20ポイント ベストアンサー

>「その文字を含む行すべて」というのはできないのでしょうか。

If a = Left(c, Len(a)) Then

これで 先頭一致を 判断しています。

これを

If InStr(c, a) > 0 Then

にすれば その文字列を含むとなります。

◎質問者からの返答

ばっちりできました。

VBAについてはあとでゆっくり自学していきます。ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ