• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル VBA コマンドボタン位置変更による処理?)

エクセルVBAで注文表の処理を行う方法

このQ&Aのポイント
  • エクセルの注文表と在庫表を作成し、注文表の品番、品名、納期を在庫表に移し変える処理をVBAで実装する方法について教えてください。
  • また、納期項目列を昇順で並び替えた場合に、コマンドボタンの配置位置も変えたい場合、どのように書けば良いかも教えてください。
  • よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

ご質問の意味を、きちんと把握できていないかもしれませんが、要するに、ボタンの位置がわかれば良いということでしょうか? コマンドボタンを何で作成されているのか不明ですが、TopLeftCellプロパティでオブジェクトの左上端のセルの取得が可能です。 今回は行番号が必要なのでしょうから、コントロールのボタンの例であれば  r = ActiveSheet.CommandButton1.TopLeftCell.Row などとしておいて、r行に対してコピーを行えばよいのでは?  .Cells(idx, 3) = Worksheets("注文表").Cells(r, 3) 意味が違っていましたら失礼。

77TAKETAKA
質問者

お礼

説明不足の中、的確な回答ありがとうございます。 思うように実行してくれました。

その他の回答 (1)

  • yama1718
  • ベストアンサー率41% (670/1618)
回答No.1

コマンドボタンのセル位置が判ればいいのですが、以前私が調べた時には、その方法が見つかりませんでした。 そこで、ワークシートの BeforeRightClick でセルをボタンの様に使い右クリックでコマンドが実行される様にしました。 これなら、コピーも容易ですし、自分のセル位置も引数のTarget.Addressから取れるので使いやすいですよ。 方法の一つとして検討して見て下さい。

77TAKETAKA
質問者

お礼

ありがとうございます。 参考になりました。 先々、利用させていただきます。

関連するQ&A