プロが教える店舗&オフィスのセキュリティ対策術

今あるシート画面のA1の購入商品名を別の購入記録シート画面に移して納入データ(有効期限など)を入れ込むのだが 最初のある画面の特定の位置A1の商品名(時に変わる)を握って(コピーして)購入記録画面に持ってゆき その一番上に各商品名が横にずらっとならんでいるので該当商品名を見つけるために検索置換窓を出して 握ってゐた最初のA1の商品名を 検索置換の窓にペースト(貼り付けたいが)(手動でCTRL+Vでは貼れるんだが) 自分の作ったマクロではVBAでは検索欄が出るところまでなんです。ご教授ください。

Sub 見つけ入れ込み()
'
' 見つけ入れ込み Macro
'
Range("A1").Select
Selection.Copy
Sheets("購入記録").Select


Rows("1:1").Select

SendKeys "^f", True
' 握ってゐた A1を 検索置換欄に入れたいが ここからあとを どう記述すればいいのでしょうか

End Sub

A 回答 (2件)

こんにちは



>検索置換の窓にペースト(貼り付けたいが)(手動でCTRL+Vでは貼れるんだが) 
検索窓をSendKeysで出しているのですから、そのまま「^v」でペーストすれば検索窓にペーストされます。
とは言え、どうやらこの後は検索をしそうな雰囲気ですが、検索窓など利用せずともVBAで直接検索すればよさそうに思うのですが・・・?

単に検索するだけなら、FINDメソッドで。
https://docs.microsoft.com/ja-jp/office/vba/api/ …
セル値のままでなくとも、それを編集した値などで自由に検索が可能になります。

シート関数のLOOKUPやMATCH的なことを行いたいのなら、そのままWorksheetFunctionを利用してしまう方法もありでしょう。
もしも、全体がシート関数の典型的な処理で済んでしまうような内容なら、処理を直接しなくても、VBAからはセルに関数を設定するだけにして、後はエクセルに計算してもらうという方法も考えられます。
https://docs.microsoft.com/ja-jp/office/vba/api/ …
    • good
    • 0

Excel標準の検索ダイアログにペーストするのは面倒かも。



> 検索置換窓を出して 握ってゐた最初のA1の商品名を 検索置換の窓にペースト(貼り付けたいが)

その後、書式指定して検索したり、置換したりせずに、単純な検索しか行わないなら、自前のフォームで検索ダイアログを作成しては?


ネットにある参考になりそうな事例だと、さらに便利に条件に合う項目をリストに表示とかの機能になってますが。

よねさんのWordとExcelの小部屋 - Excel(エクセル) VBA入門:検索結果をリストボックスに表示する
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!