- 締切済み
行をコピーするマクロ
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- keithin
- ベストアンサー率66% (5278/7941)
>データ入力用のシートにペーストできなかった 「できなかった」とは,貼り付けが作動しなかったという意味ですか?それとも何か間違った場所に貼り付いたという意味でしょうか。 いずれにしても,回答の手順をスルーして行ってない,若しくは間違った事をしてると考えられます。 1)データ入力用のシートにマクロのボタンを設置して実行していますか。 2)回答したのと違う,間違ったモジュールにマクロを記載していませんか。 3)Ctrl+Endを押して最後のセルを確認する以下の操作をキチンと行いましたか。 でも今回あなたがご自分で追加作成したマクロのように,データ入力シートの「A列だけ」見ればどこまで入力したのかしっかり調べられるという前提を置いた(そのようにしか作動しない)マクロでいいなら,それはそれで簡単なので,そうしてください。 >ペーストした行を選択したままなので、 >なんとか入力行の最初のセルを選択するようにしたい ペーストした次の行に activecell.select と書き足して下さい。
- keithin
- ベストアンサー率66% (5278/7941)
簡単な準備: まだデータを記入していない状態でCtrl+Endを押す 表の右下セルにジャンプする事を確認する もしも余計なセル(たとえばS60セルあたり)まで飛んで行ってしまったときは、23行目から最終セルを含んだ行(60行)までを「行選択」し、行番号を右クリックして「行削除」し、必ずブックを一回保存し閉じて開きなおす 改めてCtrl+Endを押し、今度はS21で止まることを確認する。失敗した時は行削除の手順をやり直す。 手順: ALT+F11を押してVBE画面を出す 挿入メニューから標準モジュールを挿入する 下記のマクロをコピー貼り付ける sub macro1() dim r as long r = activesheet.cells.specialcells(xlcelltypelastcell).row + 1 worksheets("テンプレートのシート").rows("2:22").copy destination:=cells(r, "A") end sub シートにオートシェイプの図形などでボタン絵柄を作成し、右クリックしてマクロの登録でマクロを登録する。
お礼
ありがとうございます。何とかコピー、ペーストするところまでは出来ました。
補足
コピーしてやってみましたが、データ入力用のシートにペーストできなかったので 試行錯誤して下記の構文を入れて何とかコピーできるようにはなりました。 Dim LastRow As Long LastRow = Cells(Rows.Count, 1).End(xlUp).Row + 2 Rows(LastRow).Select ActiveSheet.Paste Application.CutCopyMode = False しかし、このままではペーストした行を選択したままなので、 なんとか入力行の最初のセルを選択するようにしたいの ですがうまくいきません。 ヒントでも良いので教えていただけると助かります。
お礼
再度、教えていただきありがとうございます。 ペーストされていなかったと思ったのは勘違いで かなり下の行(160行)にペーストされていました。 最初のCtrl+Endで選択しているセルの最終列(IV) が選択されたのでT列よりIV列まで削除してから 終了して、再度ペーストしたマクロを実行したら 上記のようになりました。 それで今度は23列より190列まで削除してから 同様に行ったところ教えてもらったマクロのみで 上手く行くようになりました。 activecell.selectを入れてみましたが最後に入力した セルを選択したままです。 希望はA列の「商品番号」の下のセルを選択したいのですが なんか上手く行く方法はありますか? 質問ばかりですいません。