
セルを結合しているセルに、値が入っていて、
その値を検索して列番号を取得したいのですが
エラーになります。
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も見ています
-
ショボ短歌会
ひどい短歌を詠んでください。
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
限定しりとり
文字数6文字以上の単語でしりとりしましょう
-
スタッフと宿泊客が全員斜め上を行くホテルのレビュー
スタッフも宿泊客も、一流を通り越して全員斜め上なホテルのレビューにありがちな内容を教えて下さい
-
自分用のお土産
国内や海外に旅行へ行った時、自分用のお土産ってどれくらい買いますか?
-
結合させた状態で、vbaで列番号を取得する方法
Excel(エクセル)
-
VBAのFind関数で結合セルを検索するとヒットしない
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excelでSUBTOTAL関数を設定した...
-
エクセル ボタンを押すとセルの...
-
Excel 離れたセルへの連続デー...
-
セルを結合した場合の関数(COU...
-
【EXCEL】条件に合致するセルの...
-
EXCELで、結合されたセルに連続...
-
エクセルでたくさんのセルを小...
-
エクセルで片方のセルに入力し...
-
EXCEL VBAでたくさんのURLの一...
-
EXCEL セル結合したセルを参照...
-
vba 結合されたセルの列番号を...
-
判定結果に応じて〇印(図形)...
-
Excelでnullになるような式のセ...
-
Excelのカウントアップボタンに...
-
「数式は隣接したセルを使用し...
-
エクセルでチェックボックスを...
-
VBAで結合したセルがクリアでき...
-
Excelで同じセルに箇条書きをし...
-
Excelの入力規則で2列表示したい
-
EXCELで○ヶ月を○年○ヶ月に変換...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelでSUBTOTAL関数を設定した...
-
EXCELで、結合されたセルに連続...
-
エクセル ボタンを押すとセルの...
-
エクセルでチェックボックスを...
-
セルを結合した場合の関数(COU...
-
エクセルで片方のセルに入力し...
-
Excel 離れたセルへの連続デー...
-
VBAで結合したセルがクリアでき...
-
セルの値を取得してSQL文に組み...
-
Excelでnullになるような式のセ...
-
Excel セルを結合したものを抽...
-
エクセルでたくさんのセルを小...
-
エクセル 結合セル内に空白なら...
-
【EXCEL】条件に合致するセルの...
-
EXCEL VBAでたくさんのURLの一...
-
エクセルでセルをクリックして“...
-
VBAで困っています。
-
Excelのカウントアップボタンに...
-
エクセルで作業した日の日付を残す
-
EXCEL セル結合したセルを参照...
おすすめ情報