http://figuami.web.fc2.com/excel.jpg
B2に「あ」と入力すると5、365、366行目のみ表示する方法を教えてください。
簡単だと思いますが、ど忘れして調べるのが面倒なので・・・。
>「その文字を含む行すべて」というのはできないのでしょうか。
If a = Left(c, Len(a)) Then
これで 先頭一致を 判断しています。
これを
If InStr(c, a) > 0 Then
にすれば その文字列を含むとなります。
すみません。
http://figuami.web.fc2.com/excel.jpg を 開こうとすると
403 Forbidden
あなたには、このファイルにアクセスする権限がありません。
となります。
それで
>B2に「あ」と入力すると5、365、366行目のみ表示する方法を教えてください。
ですが、マクロを用いて やればいいのでしょうか?
それとも 関数のみでしょうか?
関数だと
=IF(B2="あ","表示する","")
というようなのを それぞれの行に入れたらいいのかなと思います。
失礼しました。外部から呼び出せないみたいなので修正します。
http://figuami.web.fc2.com/excel.html
たぶん関数は使わずにできると思うのですが・・・。
フィルタか集計とかそんなもので。
http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter.htm
オートフィルタにして
オプションで
あ で始まる
という設定で抽出すれば 質問のようになります。
が、B2に入れただけで そうなる方法は マクロ(VBA)を使うしかないです。
ではVBAを使う方法を教えていただけないでしょうか。
投稿回数制限を変更しました。気づくの遅くてすみません。
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を開いてどこかに書くのですか?
プロジェクトの一覧が 左側に 並んでいると思いますが、
そこの使用したいシートをダブルクリックして 開いて そこに貼り付ければいいです。
Sheet1だったら Sheet1
貼り付けたら、Sheets1のB2に何か文字を入れて エンターとします。
すると その文字と先頭一致するセルの行が表示になり
それ以外が 非表示となります。
また、何もないセルは 無視されます。
できました!
>その文字と先頭一致するセルの行が表示になり
「その文字を含む行すべて」というのはできないのでしょうか。
>「その文字を含む行すべて」というのはできないのでしょうか。
If a = Left(c, Len(a)) Then
これで 先頭一致を 判断しています。
これを
If InStr(c, a) > 0 Then
にすれば その文字列を含むとなります。
ばっちりできました。
VBAについてはあとでゆっくり自学していきます。ありがとうございます。
ばっちりできました。
VBAについてはあとでゆっくり自学していきます。ありがとうございます。