
セルを結合しているセルに、値が入っていて、
その値を検索して列番号を取得したいのですが
エラーになります。
A1セルとA2セルを結合して、
「a」をいれて
Sub test()
MsgBox Cells.Find(What:="a", LookAt:=xlWhole).Column
MsgBox Rows("1:2").Find(What:="a", LookAt:=xlWhole).Column
End Sub
をしても、どちらもエラーになります。
実行時エラー91「オブジェクト変数またはWithブロック変数が設定されていません」
というエラーです。
でもB1に「a」を入れれば、問題なく2が返されます。
結合されててもセルを検索する方法を教えてください。

No.2ベストアンサー
- 回答日時:
今まで結合セルと設けたシートで検索を使ってきて問題がなかったのですが、お示しの例でやってみると確かにエラーになり、悩んでしまいました。
結論としては、結合セルの先頭セル以外のセルを起点に検索をかけようとすると、エラーになる様です。
当方の用いているワークシートでは先頭セルは結合してありませんので、問題なかったのですね。ご参考まで。
Sub test()
'a1:a2結合
Dim c As Range
'afterを指定しないと、expression(Cellsなので、A1セル)の左上セルを指定したことになる
Set c = Cells.Find(what:="a", lookat:=xlWhole)
If c Is Nothing Then Debug.Print "Test1 みつかりません"
Set c = Cells.Find(what:="a", after:=Range("A1"), lookat:=xlWhole)
If c Is Nothing Then Debug.Print "Test2 みつかりません"
Set c = Cells.Find(what:="a", after:=Range("A2"), lookat:=xlWhole)
If c Is Nothing Then Debug.Print "Test3 みつかりません"
End Sub
'結果
'Test1 みつかりません
'test2 みつかりません
Sub test2()
'a2:a3結合
Dim c As Range
Set c = Cells.Find(what:="a", lookat:=xlWhole)
If c Is Nothing Then Debug.Print "Test1 みつかりません"
Set c = Cells.Find(what:="a", after:=Range("A1"), lookat:=xlWhole)
If c Is Nothing Then Debug.Print "Test2 みつかりません"
Set c = Cells.Find(what:="a", after:=Range("A2"), lookat:=xlWhole)
If c Is Nothing Then Debug.Print "Test3 みつかりません"
End Sub
'結果
'Test3 みつかりません
No.3
- 回答日時:
#2です。
推敲不足で申し訳ありません。下記が正しいです。'afterを指定しないと、expressionの左上セル(ここでは対象がCellsなので、A1セル)を指定したことになる
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excle VBA Findメソッドについて 3 2022/07/15 13:56
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Excel(エクセル) マクロで特定日より1日前の日を求めたい 6 2022/05/08 09:23
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Excel(エクセル) EXCEL マクロで行を挿入して貼り付けようとするとエラーになる。 2 2022/05/24 09:43
- Visual Basic(VBA) findメソッドの変数について 6 2023/06/23 08:01
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- Visual Basic(VBA) シフト表のコマで「ブロック」されている前の時間の「出」を同一列の「休」と入れ替えたいがふぇきません。 2 2023/08/02 18:49
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで、結合されたセルに連続...
-
excelでSUBTOTAL関数を設定した...
-
エクセル ボタンを押すとセルの...
-
セルを結合した場合の関数(COU...
-
エクセルで片方のセルに入力し...
-
エクセルでチェックボックスを...
-
エクセルでセルをクリックして“...
-
EXCEL セル結合したセルを参照...
-
セルの値を取得してSQL文に組み...
-
EXCEL VLOOKUP的コメント自動表示
-
EXCELマクロについて教えてくだ...
-
VBAで困っています。
-
判定結果に応じて〇印(図形)...
-
エクセルでたくさんのセルを小...
-
エクセルで作業した日の日付を残す
-
VBAで “:” を含むセルの特定
-
Excelで特定のセルのみ移動し入...
-
曜日を判定して、曜日ごとに特...
-
vba 結合されたセルの列番号を...
-
Excel 離れたセルへの連続デー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelでSUBTOTAL関数を設定した...
-
EXCELで、結合されたセルに連続...
-
エクセル ボタンを押すとセルの...
-
エクセルでチェックボックスを...
-
セルを結合した場合の関数(COU...
-
エクセルで片方のセルに入力し...
-
Excel 離れたセルへの連続デー...
-
VBAで結合したセルがクリアでき...
-
Excelでnullになるような式のセ...
-
セルの値を取得してSQL文に組み...
-
Excel セルを結合したものを抽...
-
エクセルでたくさんのセルを小...
-
エクセルでセルをクリックして“...
-
エクセル 結合セル内に空白なら...
-
【EXCEL】条件に合致するセルの...
-
Excelのカウントアップボタンに...
-
VBAで困っています。
-
エクセルで作業した日の日付を残す
-
EXCEL VLOOKUP的コメント自動表示
-
EXCEL セル結合したセルを参照...
おすすめ情報