![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
No.1です。
コードをざっと拝見しました。
>'ワイルドカードを使って「~を含む」という検索文字列を作成
いわゆる「あいまい検索」を行いたい訳ですね?
整理番号での「あいまい検索」はやめた方が良いと思います。
「あいまい検索」=複数データがある
というコトですので、その後ご自身で該当データを選択する必要があると思います。
氏名等でのあいまい検索は有効だと思いますが、「整理番号」による「あいまい検索」は意味がないように思えます。
仮に検索し、データが複数表示されたとしても、整理番号の違いで担当者等の違いが判断できるでしょうか?
そして数値による「あいまい検索」を行った場合、仮に「1」であいまい検索すると
1を含むデータが無数存在すると思います。
10番台であれば10~19とか、他にも3桁になれば100や101・120等々限りがありません。
そこで一案として
(1)インプットボックスには必ず必要桁数を入力してもらい、そのデータがあるか?ないか?
の二者択一にして、あれば転記、なければメッセージボックス!
とした方が良いと思います。
(2)どうしても「整理番号」による「あいまい検索」を行いたい場合
転記先Sheetの整理番号を入力する列に入力規則の「リスト」設定を行います。
そこに1文字でも入力 → Enter で全く使用していないSheetにリスト表示させるデータをVBAで表示させ
その中から該当データを選択 → 残りの列はVLOOKUP関数やINDEX関数で該当データを表示!
といった方が現実的のような気がします。
Excel2007をお使いだというコトですので、
Excel2010以降だと
入力規則のリストの欄に数式で直接別Sheetが参照できますので、余計な空白はリスト表示せずに済みます。
ただ無い袖は振れないので、おそらく直接別Sheetを参照できなかったと思います。
別Sheetのリスト表示させたい範囲を名前定義する必要があります。
この場合、考えられるデータ数より多目の範囲指定をしなければならないので、
転記先Sheetのリスト表示は空白が多くなり、スクロールする必要があるはずです。
※ せっかくコードをお考えのようですが、個人的には他人様がお考えになったコードには
あまり手を加えたくないので、この程度でごめんなさい。
※ 実際のデータのレイアウト、そしてそのデータをどのようにしたいのか?が判れば
お役に立てるかもしれません。m(_ _)m
こんにちは。tom04様、再びの回答有難うございます。
貴重なご意見有難うございますm(__)m
仰るとおり1を含むデータで別データが出たり、そもそもデータが入らなかったりという
感じでした。顧客データの内容が頻繁に変わりますので、転記して印刷する入力表という
手間を無くすために必要だったもので……
別の手段が有効の様ですのでもう少し別のアプローチを考えてみます。
No.1
- 回答日時:
こんばんは!
表の具体的なレイアウトが判らないので、流れとしては
>例えば任意の整理番号を入力する事で・・・
「整理番号」というコトは重複データはないという前提だと
「インプットボックス」に入力 → FINDメソッド → データがあれば表示、なければメッセージボックス
というった感じになると思います
※ 重複データがある場合はオートフィルタの操作が簡単だと思います。
最初に書いたように具体的な表の配置が判らないので、
この程度でごめんなさいね。m(_ _)m
この回答への補足
tom04様回答 ありがとうございます。ご返事遅れまして申し訳ございませんm(__)m
補足させて頂きますと、マクロだと
Sub 問い合わせを行いながら転記_1()
'変数の宣言
Dim myTable As Range, myField As Range, tmpRange As Range
'検索文字の入力
Dim myStr As String, myRow As Integer
myStr = InputBox("「整理番号」から検索したい文字列を入力してください")
'ワイルドカードを使って「~を含む」という検索文字列を作成
myStr = "*" & myStr & "*"
'レコード位置判定用の変数を初期化
myRow = 1
Set myTable = Range("転記元テーブル表") 'テーブルをセット
Set myField = myTable.Columns(2).Cells '検索対象のフィールドをセット
For Each tmpRange In myField
'キーワードに該当するレコードがある場合、そのレコードを選択
If tmpRange.Value Like myStr Then
Application.Goto myTable.Rows(myRow)
'転記の確認の問い合わせを行い、よければレコードを転記する
If MsgBox("このレコードを転記しますか", vbYesNo) = vbYes Then
'ひとつのレコードを転記して処理を終了する
myTable.Rows(myRow).Copy Range("B5").End(xlUp).Offset(1)
Exit Sub
End If
End If
'レコード位置判定用の変数を更新
myRow = myRow + 1
Next
MsgBox "該当するレコードが見つかりません"
End Sub
といった形で、何故か担当者名でメッセージボックスからの応答があるという結果に。氏名ではなく番号で
データを転記したいのですが勝手が分からない有り様で(・・;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルマクロ小数点桁数
-
ASP C# データベースから1行取得
-
DataGridViewで表示に制限をつ...
-
Listviewのデータを上から順番...
-
アクセス2007 レポートで表示さ...
-
VBAでページ番号、ページ最終行...
-
【Excel VBA】先頭の「0」飛び...
-
PDFメニューバーの右端にある(...
-
こういったHPを作る場合、どこ...
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
EXCELで変数をペーストしたい
-
テキストボックスのvalueとtext...
-
i=cells(Rows.Count, 1)とi=cel...
-
[エクセル]連続する指定範囲か...
-
Excelのセルの色指定をVBAから...
-
TODAY()で設定したセルの日付...
-
Excel vbaで特定の文字以外が入...
-
連続する複数のセル値がすべて0...
-
VB.NETで DataRow()を利用して...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel VBA】先頭の「0」飛び...
-
DataGrdViewに関連付けたデータ...
-
Listviewのデータを上から順番...
-
MSFlexGridのデータ表示位置の設定
-
GASでスプレッドシートの一番上...
-
.NET SqlDataReader のレコー...
-
GridViewにバインドせずにデー...
-
DataGridViewで表示に制限をつ...
-
VBAでページ番号、ページ最終行...
-
DataGridViewの内...
-
VB.net CrystalReportでプロジ...
-
GridViewを自動的にスクロール...
-
【ASP.NET MVC】一覧編集画面
-
ACCESSのVBAで[Split]について
-
C# データ配列から画像を作成す...
-
Excelのグラフがちらつい...
-
ASP C# データベースから1行取得
-
VB DataRepeaterにて条件で表示
-
VB.NETにてDB2のBLOB型のデータ...
-
ListViewで条件によって表示を...
おすすめ情報