ここから本文です

以前、マクロのコードを教えていただいたものです 下記がコードです Private Sub...

アバター

ID非公開さん

2017/12/520:51:46

以前、マクロのコードを教えていただいたものです
下記がコードです
Private Sub CommandButton1_Click()
If TextBox1.Value = "" Then

MsgBox "テキストボックスに何も入力されてません"
Exit Sub
End If
With Range("A6").CurrentRegion
Range("G2") = "=Countif(A7:C7,""*" & TextBox1.Value & "*"")"
.AdvancedFilter _
Action:=xlFilterInPlace, criteriarange:=Range("G1:G2")
If Intersect(.Offset(1), .SpecialCells(xlVisible)) Is Nothing Then MsgBox "見つかりませんでした"
End With
End Sub

追加で教えていただきたいことが3つあります

1つ目ですが、検索して抽出はできたのですが、全く別の行が表示したりします
例ですが通話で検索 ABC列があったとして、ABには通話はなく、Cにみ通話の文字があります。実際検索すると通話がある行ではなく、全く関係ない行が表示したりします
他の文字で検索すると、抽出はできるのですが含まれていない行が表示したり、実際は含まれているはずの行が表示してなかったりします

データはA列に質問内容 B列に回答内容 C列に検索する時のキーワードの文字
似たような文字配列があるので正確に表示できないのかと思っています
もし、コードを書き換えできるなら教えてほしいです

複数列で検索していますので、できそうない場合は単独列で検索も考えています
各列のコマンドボタンを作成して検索するような方法です

2つ目ですが、検索をするときに、大文字小文字、半角全角制限なくヒットすることはできますか?

3つ目ですが、検索してヒットした行だけを別シートにコピーして移動はできますか?
A、B、C列用コマンドボタンを各列用に作成
キーワードを検索して、見つかった行だけを移動
同じ行のものは移動しない。

複数の質問でお手数をおかけしますが
よろしくお願いいたします

この質問は、taihenda3356さんに回答をリクエストしました。

閲覧数:
72
回答数:
1
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

taihenda3356さん

リクエストマッチ

2017/12/521:25:44

そんなはずはない、と言いたいのですが
もしあるとしたら・・

その表に隣接したセル、具体的には5行にデータあるとき6行を見出しとエクセルが認めないのでまともに取り出せない、ということは考えられます。G2に入れた数式が有効なのは6行が見出し、とエクセルが認識したときだけです。5行のどこかに文字が一つでもあればエクセルは5行を見出しとして自動認識します。もちろんこれを回避する方法はあります。CurrentRegionを使わないできっちりフィルタの範囲を指定します。
ただし、これが原因かどうかはわかりませんが。

そんなはずはない、と言いたいのですが
もしあるとしたら・・...

  • taihenda3356さん

    2017/12/521:41:22

    2つ目ですがG2にいれたCOUNTIF関数は大文字小文字を区別しません。区別するときはFIND関数を使います。
    ただし全角半角を区別しないというのは数値の場合なんでしょうが無理だと思います。

    3つ目は
    それならフィルタオプションの出力先を変えるか別の方法を取るか、ですね。
    フィルタオプションの出力先を変えるのは
    Action:=xlFilterInPlaceを
    Action:=xlFilterCopy
    に変更して
    CopyToRange:=~
    で出力先を指定します。元の表には何の変化も起きません。

  • その他の返信を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問は投票によってベストアンサーに選ばれました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。