- ベストアンサー
フォーム作成の質問について
- 初心者向けの商品発注数データの入力フォーム作成について質問です
- 商品コードを入力すると、該当商品名の1つ右のセルをアクティブにするプログラムの記述方法を教えてください
- マクロの学習について、皆さんはどのような勉強方法をしていますか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
バージョンにより使用できないコマンド等があるので 最低限OS、EXCELのバージョン書いておきましょう 質問の前に、まずはVBAの基本を参考書やWEBで勉強した方が良いと思います 最低限、基本を抑えておかないと、ここでコードを教えてもらっても 質問に詳細がないので、回答者は例を示すことしか出来ません あとは、質問者さん自身が例を元に、自分の環境に合わせてアレンジしなければならないのです それならばと、質問に詳細を書かれても、OKWaveのルールに丸投げ禁止というのがあるので、回答が望めません やはり、ある程度はご自分で勉強するしかないのかなと思います 勉強し方は、教室に通う、友人に教えてもらう、解説書やWEBを見るなどが一般的だと思います 私の場合は解説書で基本的なことを覚えて、実例集やWEBのサンプルコードをアレンジしたり、複数を組み合わせたりしました 今回の質問の場合は、マクロの記録に少しアレンジすれば 最低限のことは出来るので、参考にしてみてください A列にコードナンバー(数字のみ)、B列に商品名とし 空白行を含まない、コードナンバーが重複しない表が条件 ユーザーフォームのコマンドボタンで検索を開始する 1 セルA1を選択し、EXCELの検索機能で適当なコードナンバー(仮に1とします)の検索をマクロの記録で記録 結果 '----------------------------------------------------------- Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2008/10/25 ユーザー名 : ' ' Range("A1").Select Cells.Find(What:="1", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ ).Activate End Sub ’---------------------------------------------------- これで、検索と検索値へのセルの移動のマクロが作成されます 2 これに検索値(TextBox1)代入と検索結果のセルから商品名右のセルへの移動のコードを追加し、コマンドボタンに登録します ユーザーフォームにコードを追加します ’------------------------------------------------------ Private Sub CommandButton1_Click() Range("A1").Select ’What:=TextBox1.Value の部分が検索値です Cells.Find(What:=TextBox1.Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ ).Activate ’検索値から商品名右に移動するコード ActiveCell.Offset(0, 2).Activate End Sub ’------------------------------------------------------ マクロの記録、各コードの解説はヘルプを参照してください 長々と失礼しました
お礼
適切な回答有難うございます。 少しづつは自分なりに勉強はしているのですが、少しマクロをかじっているという事で、会社で早急に作るように依頼されてしまい、神頼みでこのような質問になってしまいました・・・(反省してます)。今回のみ甘えさせてもらい、参考にさせてもらってやってみたいと思います。 本当に助かりました。