No.1ベストアンサー
- 回答日時:
次のようにすればよいでしょう。
Sub Sample()
Dim 列 As Long
列 = WorksheetFunction.Match("検索文字", Range("1:1"), 0)
End Sub
No.2
- 回答日時:
No.1 さんのように、MATCH 関数のほうが手っ取り早いと思います。
ですが、あえて Find メソッドについて回答してみます。A1:A2 が結合されている状態で、手動で検索(Ctrl+F)してみれば分かりますが、ヒットしません。結合の位置が B1:B2 であれば、アクティブセルの位置が適切なら結合セル中の文字列でもヒットしますけど。というわけで、これは Excel の仕様ということで、何ともならないと思います。
下のコードでは、A1 セルとその他の範囲というふうに分けて、それぞれを調べています。
また、Find メソッドのほうは「Rows("1:2")」あるいは「Range ("1:2")」というふうに結合セルの全体を含む範囲にしないと、やはりヒットしません。手動でも同じです。
なお Range.Find.Column というふうに、いきなりプロパティを求めようとしてしまうと、Find メソッドが Nothing を返したとき(文字列が見付からなかったとき)に、エラーになってしまいます。したがって面倒でも、検索結果を Set するなどして、必ず Nothing か否かを確認してから列を求めるのがいいでしょう。
あと、何だか前述の説明と矛盾しているような話ですが、Cells.Find であれば、A1:A2 が結合されていてもヒットします。シート上の適当な位置にカーソルをドラッグせずに置いて手動で検索しても、同様です。
Sub Sample()
Const s As String = "検索文字"
Dim r As Range
Dim 列 As Long
If Range("a1").Value = s Then
Debug.Print 1
Exit Sub
End If
Set r = Rows("1:2").Find(What:=s, LookAt:=xlWhole)
If Not r Is Nothing Then 列 = r.Column
Debug.Print 列
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
- Visual Basic(VBA) Excle VBA Findメソッドについて 3 2022/07/15 13:56
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- Visual Basic(VBA) vbaを早くしたい 5 2022/09/09 10:58
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) vba 重複データ合算 5 2023/07/05 18:55
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
VBAのFind関数で結合セルを検索するとヒットしない
Visual Basic(VBA)
-
結合セルの中身を検索する
Excel(エクセル)
-
Excel-vba 文字列と変数を連結して更に変数として扱いたい
その他(プログラミング・Web制作)
-
-
4
Application.Matchで特定行の検索
Visual Basic(VBA)
-
5
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
6
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
PowerPointで表の1つの列だけ...
-
LOOKUP関数を使えばいいのでし...
-
エクセルで二つの数字の小さい...
-
エクセルの表から正の数、負の...
-
エクセル 文字数 多い順 並...
-
50人を数回、グループ分けする...
-
エクセルで最初のスペースまで...
-
重複行を削除して数値を合算し...
-
Excelで、A列にある文字がB列...
-
A,B,C3種類の文字で無限列を作る
-
VBAで文字列を数値に変換したい
-
エクセルで文字が混じった数字...
-
コミックマーケットについて
-
Excel元に戻す方法を教えてくだ...
-
エクセルで休日日数・連休日数...
-
VBAでセル入力の数式に変数を用...
-
エクセルで2列のセルを連続して...
-
エクセルマクロ:複数列 重複...
-
エクセルかグーグルスプレッド...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
エクセル(勝手に太字になる)
-
「B列が日曜の場合」C列に/...
-
エクセル 文字数 多い順 並...
-
EXCELで 一桁の数値を二桁に
-
エクセル 同じ値を探して隣の...
-
VBAで文字列を数値に変換したい
-
エクセルの並び変えで、空白セ...
-
Excelで半角の文字を含むセルを...
-
エクセルで文字が混じった数字...
-
Excel、市から登録している住所...
-
A列がない・・・A列が非表示に...
-
エクセルの表から正の数、負の...
-
[関数得意な方]教えて下さい・...
-
エクセルの項目軸を左寄せにしたい
-
エクセル 時間帯の重複の有無
-
Excelにてある膨大なデータを管...
おすすめ情報