
以前にこちらでFind Nextを教わり大変ためになりました。以前は検索したいものが一つ で検索範囲には検索するものが複数ある場合そのセルを表記することを教えていただきました。
今回は、ファイルのシート名をすべて取得し、そのシート名と一致するものを(検索したいものの左ににはいろいろの文字が入ります。●〇〇文字数バラバラ)が検索範囲が複数あった場合(場合もあり)、そのシートのB2セルにそのものの空白より前の文字の入力することをしたいです。
質問の内容と私が書いたものが全然違うと思いますがどう直せばいいのでしょうか?
'シート名取得
Dim i As Long
For i = 1 To Worksheets.Count
Cells(i, "N") = Worksheets(i).Name こちらは毎日変化なく機械のしません。
Next
Set myRange = Worksheets("Sheet1").Range("B14:E20")こちらは毎日の機械メンテナンスがリンクされていて毎日変わります。
keyWord =〇〇〇 ←ここを複数検索したいのですがこれだと一つしか検索できないです。何を入れればいいんでしょうか?
Worksheets("Sheet1").Cells(i, "N")としたんですが違いますよね。。。
Set myObj = myRange.Find(keyWord, LookAt:=xlPart)
Dim s As String
Dim myCell As Range
Set myCell = myObj
Do
Set myCell = myRange.FindNext(myCell)
Worksheets(i).Range("B2").Value = sprit(keyWord," ")
Loop While myCell <> myObj
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
No.1のお礼に対して。
もしかしてですけど検索したい曖昧語句は各シート名であり、書き込みたいのはそのシートのB2って事なんでしょうか?
でもそうなるとFindNextで複数見つけても書き込むセルは1個ですから、本来ですと最初に見つかったならその値で終わりって感じしかしません。
一度質問を締め切って箇条書きででも良いですが『やりたい作業手順』を書いて、この質問のURLをコピペで貼り付けて再質問が宜しいかもです。
全てのシートの中を検索するにしても、検索したい値はどこから得るのか(シート名であればそのように)そして取得した値をどこに並べていきたいのか(FindNextを使うって言うのが前提であれば)と思います。
ありがとうございます。
検索したい曖昧語句は各シート名であり、書き込みたいのはそのシートのB2って事で合っています。
探し出すというものをネットで調べて行き詰まり質問させてもらいました。
ご指示の通り一旦質問締め切らせてもらい再度、質問させていただきます。
No.2
- 回答日時:
こんばんは、
#1様の通り、内容を把握できないのですが、
keyWord =〇〇〇 ←ここを複数検索したいのですがこれだと一つしか検索できないです。何を入れればいいんでしょうか?
複数回キーワードを変えれば良いのでは?と思います。
例えば、(変数名しっくりこないかもですが)
For Each keyWord In Worksheets
Set myObj = myRange.Find(keyWord.Name, LookAt:=xlPart)
・
・
・
Loop While myCell <> myObj
Next keyWord
あ、これ
For i = 1 To Worksheets.Count
Cells(i, "N") = Worksheets(i).Name
Next
この場合、(出力する必要があれば別ですが)不要です。
それと
split(keyWord," ") でなく Split(myCell, " ") では無いかな。
さらに、myObjがNothingの時の処理も必要かも、、、(エラー対策)
検証していないので、ご提示のコードが問題なく実行される事が条件です。
No.1
- 回答日時:
keyWord =〇〇〇 ←ここを複数検索したいのですがこれだと一つしか検索できないです。
何を入れればいいんでしょうか?Worksheets("Sheet1").Cells(i, "N")としたんですが違いますよね。。。
『違いますよね』と問われても逆に回答者としては『何を複数検索したいの?』と言う情報が欲しい所です。
あと
>For i = 1 To Worksheets.Count
これって全てのシートが対象になりそうですが、
>Cells(i, "N") =
この Cells(~ として書き込むシート自体もシート名が必要なのでしょうか?
と言うかどのシートなんだろう?
画像があるとわかりやすかったのかも。
ダミーでも良いですがデータは仕様に添った形の物を。
いつもありがとうございます。
シートは開いているファイルの全てのシートで、
keyWord =〇〇〇は、開いているファイルのシートを取得し取得した言葉を探し出すというイメージで作ったのですが。
考えが初心者でどう説明したらいいのか、伝わりますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelマクロのエラーを解決した...
-
実行時エラー1004「Select メソ...
-
エクセルのシート名変更で重複...
-
【ExcelVBA】全シートのセルの...
-
特定の文字を含むシートだけマ...
-
XL:BeforeDoubleClickが動かない
-
エクセルVBA Ifでシート名が合...
-
Excel チェックボックスにチェ...
-
【VBA】全ての複数シートから指...
-
excelのマクロで該当処理できな...
-
【VBA】特定の文字で改行(次の...
-
実行時エラー'1004': WorkSheet...
-
Excel VBA での計算について…
-
EXCEL VBAで複数シートから該当...
-
シートが保護されている状態で...
-
ExcelのVBAのマクロで他のシー...
-
同じ作業を複数のシートに実行...
-
【エクセルVBA】「Protect User...
-
ブック名、シート名を他のモジ...
-
VBAマクロでシートコピーした新...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
特定の文字を含むシートだけマ...
-
実行時エラー'1004': WorkSheet...
-
ユーザーフォームに入力したデ...
-
【ExcelVBA】全シートのセルの...
-
エクセルVBA Ifでシート名が合...
-
実行時エラー1004「Select メソ...
-
VBA 存在しないシートを選...
-
エクセルで通し番号を入れてチ...
-
VBA 検索して一致したセル...
-
XL:BeforeDoubleClickが動かない
-
VBA 指定した回数分、別シート...
-
VBAマクロでシートコピーした新...
-
シートが保護されている状態で...
-
ブック名、シート名を他のモジ...
-
【VBA】全ての複数シートから指...
-
別のシートから値を取得するとき
-
ExcelのVBAのマクロで他のシー...
-
Excel チェックボックスにチェ...
おすすめ情報
検索したいものの左にはいろいろの文字が入ります。●〇〇 △△△ □□□ など文字数バラバラで空白は何個かありますが、左部分のみ転記したいです。この場合なら●〇〇です。spritじゃなくてsplitですね。