Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


33248 / 76732 ←次へ | 前へ→

【48708】Re:横フィルタ
質問  deda  - 07/5/2(水) 19:54 -

引用なし
パスワード
   ▼inoue さん:
>▼inoue さん:
>>別に「選択」にこだわらずに1行ずつ解析して非表示にすれば良いと思います。
>「横」でしたね。「1行ずつ解析して」ではなく「1列ずつ解析して」でした。

ありがとうございます。

一応初心者なりに考えたコードです。

Sub ある行内で検索した文字列を選択()

Dim Target As String
Dim FoundCell As range
Dim Addr As String
Dim SearchArea As range
Dim FoundAddr() As String
Dim i As Long

Target = Application.InputBox("検索文字列入力", "検索", Type:=2)
If Target = "False" Then Exit Sub


Set SearchArea = Rows(1)
Set FoundCell = SearchArea.Find(What:=Target)
If FoundCell Is Nothing Then Exit Sub
Addr = FoundCell.Address

Do
  ReDim Preserve FoundAddr(i) '配列の内容を維持したまま再宣言
  FoundAddr(i) = FoundCell.Address '検索結果のアドレスを配列に格納
  Set FoundCell = SearchArea.FindNext(after:=FoundCell)
  i = i + 1
Loop While FoundCell.Address <> Addr And Not FoundCell Is Nothing

'配列に格納された値をコンマ区切りで結合してセル範囲を一括選択
range(Join(FoundAddr, ",")).Select
End Sub

いろんなサイトのサンプルを切ったり貼ったりしてます。
おかしなところがあるかも知れませんが、自分としてはいいとこまで来てると思っています・・・・・・・;
このコードは検索した文字列のセルを選択しますが、
私がほしいのは、検索した文字列を含まないセルを選択してほしいのです。
横フィルタは、そのセルを非表示にすれば完成なのですが・・・・

>1列ずつ解析して非表示にすれば良い
とは、どうすればよいのでしょうか?
まったく他の考え方でもOKです。
教えてください。

0 hits

【48688】横フィルタ deda 07/5/2(水) 0:05 質問
【48689】Re:横フィルタ inoue 07/5/2(水) 0:10 発言
【48690】Re:横フィルタ inoue 07/5/2(水) 0:11 発言
【48708】Re:横フィルタ deda 07/5/2(水) 19:54 質問
【48712】Re:横フィルタ bykin 07/5/2(水) 21:15 回答
【48714】Re:横フィルタ deda 07/5/2(水) 22:28 質問
【48717】Re:横フィルタ bykin 07/5/2(水) 23:21 回答
【48718】Re:横フィルタ deda 07/5/2(水) 23:35 質問
【48720】Re:横フィルタ bykin 07/5/3(木) 0:00 発言
【48722】Re:横フィルタ deda 07/5/3(木) 0:10 質問
【48723】Re:横フィルタ bykin 07/5/3(木) 0:36 発言
【48725】これです! deda 07/5/3(木) 1:22 お礼

33248 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free