- ベストアンサー
エクセルのマクロについて
N4の列の一番下のセルを選択しコピー 左隣のセルに貼り付けをしたいのですが N列の数は変動(N4~N64)します。 この動作をマクロで動かしたいのですが わからないので教えてください 宜しくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
手元にEXCEL2007がないので、検証出来ません。 以下のように変更しても、駄目ならごめんなさいね。 Sub test() Dim mR As Long With ActiveSheet mR = .Range("N" & Rows.Count).End(xlUp).Row .Cells(mR, 13) = .Cells(mR, 14) End With End Sub
その他の回答 (5)
- pkh4989
- ベストアンサー率62% (162/260)
EXCEL2007 でも問題なく動作しますので、 使っているブックではなく、新しいブックを開いて、ActiveSheetの N列にデータ入力して、試してみてください。
お礼
できました 本当に助かりました これだけで3日も費やしました。 本当にありがとうございました。
- pkh4989
- ベストアンサー率62% (162/260)
EXCEL のバージョンは何ですか? EXCEL2003 では問題ないですよ。 N列の空欄のセルにスペースが入力されているかを確認してください。
補足
EXCEL2007を使っています。
- pkh4989
- ベストアンサー率62% (162/260)
以下の変数を追加してください。 Sub test() Dim mR As Long '←追加 With ActiveSheet mR = .Cells(Rows.Count, "N").End(xlUp).Row .Cells(mR, "M") = .Cells(mR, "N") End With End Sub
補足
貼り付けて動かしてみました エラー表示は出ませんが コピー貼り付けをしてくれません なぜでしょうか
- todyssey
- ベストアンサー率32% (25/77)
マクロの記録を利用して勉強してはいかがですか ツール→マクロ→新しいマクロの記録 を指定してマクロ名を作成してから N4にカーソルを置き Ctrl + ↓ で最終行まで飛ばし そのまま コピー 任意の場所で貼り付け その後 ツール→マクロ→記録終了 を選択し 作成されたマクロを編集で確認してみてください 単純にその方法でできる場合があります もしそれでだめなときは For to next を使って N列を1行ずつ値が入っているか確認させて 無くなった行No.-1 のセルをコピー 任意の場所に代入という形になりますが いかがでしょうか
お礼
ありがとうございました。 申し訳ありません 私は初心者なので あまり専門的なことを 言われても理解できません 本当にごめんなさい。
- pkh4989
- ベストアンサー率62% (162/260)
参考にしてください。 Sub test() With ActiveSheet mR = .Cells(Rows.Count, "N").End(xlUp).Row .Cells(mR, "M") = .Cells(mR, "N") End With End Sub
補足
ありがとうございました。 そのままマクロをコピーして貼り付けたのですが コンパイルエラー 変数が定義されていません。 と言うのが出てきて マクロが 動きません どうして でしょうか 教えていただけませんか
お礼
やってみましたが やはり動きません お手数をおかけいたしました。 本当にありがとうございました。