• ベストアンサー

エクセルのマクロについて

N4の列の一番下のセルを選択しコピー 左隣のセルに貼り付けをしたいのですが N列の数は変動(N4~N64)します。 この動作をマクロで動かしたいのですが わからないので教えてください 宜しくお願いします。

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

  • ベストアンサー
  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.5

手元に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

uemt5
質問者

お礼

やってみましたが やはり動きません お手数をおかけいたしました。 本当にありがとうございました。

その他の回答 (5)

  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.6

EXCEL2007 でも問題なく動作しますので、 使っているブックではなく、新しいブックを開いて、ActiveSheetの N列にデータ入力して、試してみてください。

uemt5
質問者

お礼

できました 本当に助かりました これだけで3日も費やしました。 本当にありがとうございました。

  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.4

EXCEL のバージョンは何ですか? EXCEL2003 では問題ないですよ。 N列の空欄のセルにスペースが入力されているかを確認してください。

uemt5
質問者

補足

EXCEL2007を使っています。

  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.3

以下の変数を追加してください。 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

uemt5
質問者

補足

貼り付けて動かしてみました エラー表示は出ませんが コピー貼り付けをしてくれません なぜでしょうか

  • todyssey
  • ベストアンサー率32% (25/77)
回答No.2

マクロの記録を利用して勉強してはいかがですか ツール→マクロ→新しいマクロの記録 を指定してマクロ名を作成してから N4にカーソルを置き Ctrl + ↓ で最終行まで飛ばし そのまま コピー 任意の場所で貼り付け その後 ツール→マクロ→記録終了 を選択し 作成されたマクロを編集で確認してみてください 単純にその方法でできる場合があります もしそれでだめなときは For to next を使って N列を1行ずつ値が入っているか確認させて 無くなった行No.-1 のセルをコピー 任意の場所に代入という形になりますが いかがでしょうか

uemt5
質問者

お礼

ありがとうございました。 申し訳ありません 私は初心者なので  あまり専門的なことを 言われても理解できません 本当にごめんなさい。

  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.1

参考にしてください。 Sub test()   With ActiveSheet     mR = .Cells(Rows.Count, "N").End(xlUp).Row     .Cells(mR, "M") = .Cells(mR, "N")   End With End Sub

uemt5
質問者

補足

ありがとうございました。 そのままマクロをコピーして貼り付けたのですが コンパイルエラー 変数が定義されていません。 と言うのが出てきて マクロが 動きません どうして でしょうか 教えていただけませんか

関連するQ&A