Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : Microsoft 365)
数式結果が一致するセルを選択
投稿日時: 23/11/29 10:19:57
投稿者: wa-nn

いつもお世話になっております。
アドバイスを頂けると幸いです。
宜しくお願い致しますm(_ _)m
 
数式結果が0になるセルを選択したいです。

Dim rg As Range 
Set rg = Range("I72:I384").Find(what:=0, LookIn:=xlValues, lookat:=xlWhole)

実行するとrgがnothingになります。 ※手動で検索を行うとセルは見つかる
原因を教えて頂けると幸いです。

回答
投稿日時: 23/11/29 10:37:07
投稿者: WinArrow

若しや・・・・とは、思いますので
 
テスト1
>Range("I:I")
にしてみる
 
 
テスト2
Msgbox Range("I72:I384").Parent.Name
を実行してみる

回答
投稿日時: 23/11/29 10:40:01
投稿者: WinArrow

追加レス
 
テスト2
で、原因が判明した場合
対処方法は、その時にアドバイスします。

投稿日時: 23/11/29 11:39:45
投稿者: wa-nn

WinArrow さんの引用:
若しや・・・・とは、思いますので
 
テスト1
>Range("I:I")
にしてみる
 
 
テスト2
Msgbox Range("I72:I384").Parent.Name
を実行してみる

テスト1ではnothingでした。

投稿日時: 23/11/29 11:41:54
投稿者: wa-nn

WinArrow さんの引用:
追加レス
 
テスト2
で、原因が判明した場合
対処方法は、その時にアドバイスします。

テスト2ではアクティブにしているシート名が表示されました。

回答
投稿日時: 23/11/29 12:07:07
投稿者: WinArrow

引用:
テスト2ではアクティブにしているシート名が表示されました。

 
コードで指定している、セル範囲は、アクティブシートの中のセルですか?

投稿日時: 23/11/29 12:24:25
投稿者: wa-nn

WinArrow さんの引用:
引用:
テスト2ではアクティブにしているシート名が表示されました。

 
コードで指定している、セル範囲は、アクティブシートの中のセルですか?

 
はい、アクティブシートの中のセルです。

回答
投稿日時: 23/11/29 13:47:59
投稿者: WinArrow

引用:
はい、アクティブシートの中のセルです。

そうですか?
 
掲示されたことだけでは、原因は分かりません。
 
まだ、なにか説明し忘れていることないですか??

回答
投稿日時: 23/11/29 13:59:32
投稿者: simple

(Q1)どんな数式が対象セルに入っていますか?
(Q2)> ※手動で検索を行うとセルは見つかる とのこと。
そのマクロ記録を示せますか? 

投稿日時: 23/11/29 14:16:14
投稿者: wa-nn

WinArrow さんの引用:
引用:
はい、アクティブシートの中のセルです。

そうですか?
 
掲示されたことだけでは、原因は分かりません。
 
まだ、なにか説明し忘れていることないですか??

lookat:=xlWholeをlookat:=xlPartにすると
0を含む10や100などの数字は見つかります。
 
xlWholeを使うとnothingになる為、Findでは0だけを検索するということはできないのですかね....?

投稿日時: 23/11/29 14:25:01
投稿者: wa-nn

simple さんの引用:
(Q1)どんな数式が対象セルに入っていますか?
(Q2)> ※手動で検索を行うとセルは見つかる とのこと。
そのマクロ記録を示せますか? 

御連絡ありがとうございます。
(Q1)ブック内にある他のシートのセルを参照しています。
(Q2)マクロの記録を行ったところ、検索範囲をselectまでは記録されましたが、
検索は記録されませんでした.....
 

回答
投稿日時: 23/11/29 14:35:39
投稿者: simple

検索が記録されないわけはないですが、手はかけたくないと理解しました。私はこれで。

投稿日時: 23/11/29 14:55:24
投稿者: wa-nn

simple さんの引用:
検索が記録されないわけはないですが、手はかけたくないと理解しました。私はこれで。

マクロの記録そのまま張り付けします。
I列をselectした後に
検索する文字列0を全て検索し選択した内容が記録されません。
 
Sub Macro6()
'
' Macro6 Macro
'

'
    Columns("I:I").Select
End Sub

 

回答
投稿日時: 23/11/29 16:23:10
投稿者: WinArrow

若しかして、セルの値が表示形式で「0」に見えるようにしているとか
ありませんか?
 

投稿日時: 23/11/30 01:50:36
投稿者: wa-nn

WinArrow さんの引用:
若しかして、セルの値が表示形式で「0」に見えるようにしているとか
ありませんか?
 

アドバイスありがとうございます。
表示形式が原因でした!!!
カンマの桁区切りを標準に変更したら、検索できました。
 
何度も原因を考えて頂き、本当にありがとうございますm(_ _)m
助かりました。